home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Reference / the cmsp digests ('94-'97) / csmp digest Vol 4 No 012 < prev    next >
Text File  |  1996-10-27  |  165KB  |  4,749 lines

  1. C.S.M.P. Digest             Thu, 17 Oct 96       Volume 4 : Issue 12
  2.  
  3. Today's Topics:
  4.  
  5.         *** Jasik Debugger Student Special $99 ***
  6.         68k based library in a PPC project
  7.         ADB Info Requests
  8.         Applescript HELP!
  9.         C++ Classes to do spreadsheet?
  10.         Calling SAT from code resource plug-in
  11.         Changing colors in a PICT
  12.         Cross-compiling Visual C++ w- MFC to the Mac
  13.         GetSharedLibrary ()?  Documentation on loading shared libraries?
  14.         Help! Icons not showing up!
  15.         How do you call math routines in a code resource
  16.         How to create MacOS 6-7 dual-boot system?
  17.         How to do Unix-like scripting on a Mac?
  18.         Inside Macintosh's Venn Diagrammer: has anyone done it?
  19.         Looking for ictb, aete editor, NOT resourcerer
  20.         Memory Loss with CustomGetFile
  21.         Problems with SetDialogDefaultItem
  22.         Re^2: MacOS 8 suggestion (Re: Disk space efficiency)
  23.         Setting dialog default buttons
  24.         Stack size in BOA
  25.         StandardGetFile doesn't display only 'MooV's
  26.         Where is Resedit in Info-Mac
  27.         Windows and Mac programming
  28.         [ANN ]MWDebug-MacOS 1.6.3 is available for downloading
  29.         [ANN] Licorice for Game Sprocket Developers
  30.         [Q] Drawing Lines?
  31.         [Q] Switching the Sound Input source
  32.         atan2: PPC vs. 68k
  33.         password dialogs-- how?
  34.         problems with XCMD using OT
  35.  
  36.  
  37.  
  38. The Comp.Sys.Mac.Programmer Digest is moderated by Mark Aiken
  39. (marka@ee.mcgill.ca).
  40.  
  41. The digest is a collection of article threads from the internet
  42. newsgroups comp.sys.mac.programmer.help, csmp.tools, csmp.misc and
  43. csmp.games. It is designed for people who read news semi-regularly and
  44. want an archive of the discussions.  If you don't know what a
  45. newsgroup is, you probably don't have access to it. Ask your systems
  46. administrator(s) for details. If you don't have access to news, you
  47. may still be able to post messages to the group by using a mail server
  48. like anon.penet.fi (mail help@anon.penet.fi for more information).
  49.  
  50. Each issue of the digest contains one or more sets of articles (called
  51. threads), with each set corresponding to a 'discussion' of a particular
  52. subject.  The articles are not edited; all articles included in this digest
  53. are in their original posted form (as received by our news server at
  54. ee.mcgill.ca).  Article threads are not added to the digest until the last
  55. article added to the thread is at least two weeks old (this is to ensure that
  56. the thread is dead before adding it to the digest).  Article threads that
  57. consist of only one message are generally not included in the digest.
  58.  
  59. The digests can be obtained by email, ftp or through the World Wide Web.
  60.  
  61. If you want to receive the digest by mail, send email to 
  62. majordomo@ee.mcgill.ca with no subject and one of the following commands
  63. as body:
  64.  
  65.     help                        Sends you a summary of commands
  66.     subscribe csmp                      Adds you to the mailing list
  67.     unsubscribe csmp                    Removes you from the list
  68.  
  69. Once you have subscribed, you will automatically receive each new
  70. issue as it is created.
  71.  
  72. Back issues are available by ftp from Info-Mac mirror sites in the
  73. per/csmp subdirectory, e.g.
  74.  
  75.   ftp://sumex-aim.stanford.edu/info-mac/per/csmp/
  76.  
  77. The contents of all back issues can be searched by accessing the
  78. following URL, courtesy of Andrew Barry (ajbarry@ozemail.com.au):
  79.  
  80.     http://marvin.stattech.com.au/search.html
  81.  
  82. They can also be searched through the following URLs, thanks to
  83. Tim Tuck (Tim.Tuck@sensei.com.au):
  84.  
  85.     http://wais.sensei.com.au/searchform.html
  86.     wais://wais.sensei.com.au:210/csmp?
  87.  
  88. -------------------------------------------------------
  89.  
  90. From macnosy@jasik.com (Steve Jasik)
  91. Subject: *** Jasik Debugger Student Special $99 ***
  92. Date: Wed, 02 Oct 1996 00:48:58 -0700
  93. Organization: Jasik Designs
  94.  
  95. Jasik Designs announces a special Fall sale for University and College students
  96. (undergraduate and graduate students).
  97.  
  98. For the months of October and November,
  99. full time college students may purchase a Full copy of the 'Jasik Debugger'
  100. from Jasik Designs for the special sale price of $99 .
  101.  
  102. For more info on the Jasik Debugger visit my WEB page at http://www.jasik.com
  103.  
  104. To order your copy, you -must- submit a copy of your student id card
  105. showing current registration or some other proof.
  106.  
  107. You may e-mail your order to Jasik Designs at : macnosy@jasik.com
  108.  
  109. It should include:
  110.  
  111. a) A 'jpeg' file readable by Photoshop which contains a scanned in copy
  112.    of your Student ID showing current registration.
  113.  
  114. b) your mailing address, e-mail address ( name@xxx.college.edu )
  115.    and your phone number.
  116.  
  117. c) A credit card number, expiration date (Visa or MasterCard) 
  118.    and name of the cardholder.
  119.   Those who are paranoid about sending their credit card numbers via 
  120.   e-mail should contact me about security measures.
  121.  
  122. Steve Jasik
  123.  
  124.  
  125. Note:  
  126.  The Jasik Debugger runs on most Macintoshs, and is NOT compatable
  127.  with Virtual Memory or Ram Doubler.
  128.  Address questions to : macnosy@jasik.com
  129.  
  130. - --------------------------------------------------------
  131. Steve Jasik             Author of 'The Debugger & MacNosy'
  132. 343 Trenton Way         http://www.jasik.com
  133. Menlo Park CA 94025     415-322-1386  Voice Only
  134.  
  135. +++++++++++++++++++++++++++
  136.  
  137. From Manuel Veloso <veloso@apix.com>
  138. Date: 3 Oct 1996 10:39:21 GMT
  139. Organization: Active Paper, Inc.
  140.  
  141. In article <macnosy-0210960049380001@204.119.88.14> Steve Jasik,
  142. macnosy@jasik.com writes:
  143. >Jasik Designs announces a special Fall sale for University and College students
  144. >(undergraduate and graduate students).
  145. >
  146. >For the months of October and November,
  147. >full time college students may purchase a Full copy of the 'Jasik Debugger'
  148. >from Jasik Designs for the special sale price of $99 .
  149.  
  150. And, if you're a student who's into Mac development, Jasik's is the
  151. most powerful debugging tool, period. It's worth it at list, and it's
  152. an insane deal at $99. Heck, even sticking it on your resume'll be
  153. a massive plus, especially if you know how to use it (and you'll
  154. have to...they'll ask).
  155.  
  156. Oh, std disclaimer for plugs applies.
  157.  
  158. "when the shit hits the fan, use The Debugger to clean it off"
  159. - ---------------------------------------
  160. Manny Veloso          Digital Plumber
  161. Active Paper, Inc.    http://www.apix.com
  162. - ---------------------------------------
  163. "bandwidth overload in progress"
  164.  
  165. +++++++++++++++++++++++++++
  166.  
  167. From Manuel Veloso <veloso@apix.com>
  168. Date: 3 Oct 1996 10:39:21 GMT
  169. Organization: Active Paper, Inc.
  170.  
  171. In article <macnosy-0210960049380001@204.119.88.14> Steve Jasik,
  172. macnosy@jasik.com writes:
  173. >Jasik Designs announces a special Fall sale for University and College students
  174. >(undergraduate and graduate students).
  175. >
  176. >For the months of October and November,
  177. >full time college students may purchase a Full copy of the 'Jasik Debugger'
  178. >from Jasik Designs for the special sale price of $99 .
  179.  
  180. And, if you're a student who's into Mac development, Jasik's is the
  181. most powerful debugging tool, period. It's worth it at list, and it's
  182. an insane deal at $99. Heck, even sticking it on your resume'll be
  183. a massive plus, especially if you know how to use it (and you'll
  184. have to...they'll ask).
  185.  
  186. Oh, std disclaimer for plugs applies.
  187.  
  188. "when the shit hits the fan, use The Debugger to clean it off"
  189. - ---------------------------------------
  190. Manny Veloso          Digital Plumber
  191. Active Paper, Inc.    http://www.apix.com
  192. - ---------------------------------------
  193. "bandwidth overload in progress"
  194.  
  195. ---------------------------
  196.  
  197. From attuly@worldnet.fr (Lionel Attuly)
  198. Subject: 68k based library in a PPC project
  199. Date: Mon, 30 Sep 1996 11:16:53 +0100
  200. Organization: none
  201.  
  202. When I try to add a 68k based library to my PPC project, the linker
  203. complains with the message "Not a Power PC library". Is there a way to use
  204. the library ?
  205.  
  206. I'm using CW 9.
  207.  
  208. Thanks.
  209.  
  210. _____________________________________________
  211. Lionel Attuly    France    attuly@worldnet.fr
  212.  
  213. +++++++++++++++++++++++++++
  214.  
  215. From jeff@nts.com (Jeff Miller)
  216. Date: Mon, 30 Sep 1996 10:08:46 -0700
  217. Organization: Network TeleSystems, Inc.
  218.  
  219. In article <attuly-ya023080003009961116530001@news.worldnet.fr>,
  220. attuly@worldnet.fr (Lionel Attuly) wrote:
  221.  
  222. > When I try to add a 68k based library to my PPC project, the linker
  223. > complains with the message "Not a Power PC library". Is there a way to use
  224. > the library ?
  225.  
  226. No, you can't link it in directly.  You'll need to build the library into
  227. a 68K code resource, which you can then load and call from your PPC code
  228. using the Mixed Mode Manager.
  229.  
  230. Jeff
  231.  
  232. - ----------------------------------------------------------
  233.  Jeff Miller  |  jeff@nts.com  |  Network TeleSystems, Inc.
  234. - ----------------------------------------------------------
  235.  
  236. +++++++++++++++++++++++++++
  237.  
  238. From rliechty@tdsnet.com (MW Ron)
  239. Date: Wed, 02 Oct 1996 16:14:39 -0400
  240. Organization: Metrowerks
  241.  
  242. In article <attuly-ya023080003009961116530001@news.worldnet.fr>,
  243. attuly@worldnet.fr (Lionel Attuly) wrote:
  244.  
  245. >When I try to add a 68k based library to my PPC project, the linker
  246. >complains with the message "Not a Power PC library". Is there a way to use
  247. >the library ?
  248.  
  249. No,  If this is a third party library you would need to have them rebuild
  250. the library for PowerPC,  If this is just a libray that you have in a 68k
  251. project like MacOS.Lib you would use Interface.Lib for PowerPC instead. 
  252. Or the proper ANSI library.  
  253.  
  254. Ron
  255.  
  256. -- 
  257. METROWERKS                   Ron Liechty
  258. "Software at Work"    MWRon@metrowerks.com
  259. http://www.metrowerks.com/about/people/rogues.html#mwron
  260.  
  261. +++++++++++++++++++++++++++
  262.  
  263. From DavidO@dascorp.com (David Phillip Oster)
  264. Date: 3 Oct 1996 20:27:11 GMT
  265. Organization: Digital Arts & Sciences Corp.
  266.  
  267. In article <rliechty-0210961614390001@aumi1-a07.ccm.tds.net>,
  268. rliechty@tdsnet.com (MW Ron) wrote:
  269.  
  270. >In article <attuly-ya023080003009961116530001@news.worldnet.fr>,
  271. >attuly@worldnet.fr (Lionel Attuly) wrote:
  272.  
  273. >>When I try to add a 68k based library to my PPC project, the linker
  274. >>complains with the message "Not a Power PC library". Is there a way to use
  275. >>the library ?
  276.  
  277. You can use the library, but it is tedious. Define a new procedure
  278. that takes a integer "selector" argument, and uses a "switch" statement
  279. to dispatch to each routine in the library. Don't give the selector
  280. routine too many parameters, but it is OK to pass it a pointer to a 
  281. parameter record. You may need ot add
  282. initialization and sutdown routines. Link this with the library,
  283. and make of it an executabe code resource. Don't forget that executable
  284. code resources have to initialize, setup, and restore register A4,
  285. and that callbacks that the library hands out need to have appropriate
  286. setupa4, restorea4 calls.
  287.  
  288. Then, from your powerpc code, you can load the above excutable resource
  289. into memory, lock it, and call it with CallUniversalProcPtr().
  290.  
  291. My powerpc code calls 68000 adobe photoshop plug-ins just fine using
  292. this technique.
  293.  
  294. -- 
  295. I used to say, "At least Congress doesn't make death worse every year."
  296. Then I had to probate an estate.
  297.  
  298. +++++++++++++++++++++++++++
  299.  
  300. From tulip@tiac.net (Ed Anson)
  301. Date: Thu, 03 Oct 1996 20:56:41 -0400
  302. Organization: Tulip Software
  303.  
  304. In article <DavidO-0310961330200001@206.14.165.117>, DavidO@dascorp.com
  305. (David Phillip Oster) wrote:
  306.  
  307.  and make of it an executabe code resource. Don't forget that executable
  308. > code resources have to initialize, setup, and restore register A4,
  309. > and that callbacks that the library hands out need to have appropriate
  310. > setupa4, restorea4 calls.
  311.  
  312. If you are creating a code resource from scratch, using A4 based globals
  313. is common practice. However, when calling an existing library, it is
  314. probable that it is compiled to run in an A5 world.
  315.  
  316. Consequently, you have one of two cases:
  317.  
  318. 1. You are lucky enough to find that the library uses no globals, and no
  319. special setup is required.
  320.  
  321. 2. If the library uses A5 globals, you will have to create and maintain a
  322. separate A5 world for it. There is a Tech Note (old numbering #256) that
  323. describes in detail how to do this.
  324.  
  325. - --------------------
  326. Ed Anson
  327. Tulip Software
  328. Andover, MA 01810
  329. U.S.A.              <http://www.tiac.net/users/tulip/home.html>
  330.  
  331. +++++++++++++++++++++++++++
  332.  
  333. From tulip@tiac.net (Ed Anson)
  334. Date: Thu, 03 Oct 1996 20:56:41 -0400
  335. Organization: Tulip Software
  336.  
  337. In article <DavidO-0310961330200001@206.14.165.117>, DavidO@dascorp.com
  338. (David Phillip Oster) wrote:
  339.  
  340.  and make of it an executabe code resource. Don't forget that executable
  341. > code resources have to initialize, setup, and restore register A4,
  342. > and that callbacks that the library hands out need to have appropriate
  343. > setupa4, restorea4 calls.
  344.  
  345. If you are creating a code resource from scratch, using A4 based globals
  346. is common practice. However, when calling an existing library, it is
  347. probable that it is compiled to run in an A5 world.
  348.  
  349. Consequently, you have one of two cases:
  350.  
  351. 1. You are lucky enough to find that the library uses no globals, and no
  352. special setup is required.
  353.  
  354. 2. If the library uses A5 globals, you will have to create and maintain a
  355. separate A5 world for it. There is a Tech Note (old numbering #256) that
  356. describes in detail how to do this.
  357.  
  358. - --------------------
  359. Ed Anson
  360. Tulip Software
  361. Andover, MA 01810
  362. U.S.A.              <http://www.tiac.net/users/tulip/home.html>
  363.  
  364. ---------------------------
  365.  
  366. From lroathe@ifd.com (Lane Roathe)
  367. Subject: ADB Info Requests
  368. Date: Thu, 03 Oct 1996 04:31:11 -0800
  369. Organization: Ideas From the Deep, Ltd.
  370.  
  371. 1) Is the ADB Manager native? If not, will it be any time soon?
  372.   (ie, does it make a difference if I write a 68K ADB driver?)
  373.  
  374. 2) Does anyone have, or can anyone point me to, C source to an ADB driver?
  375.   (I have 68k source, but would like to be able to build a FAT driver)
  376.  
  377. If you could CC replies to my email account <lroathe@ifd.com> I would
  378. appriciate it, as I miss articles on the newsgroups.
  379.  
  380. Thanks!
  381.  
  382. _________________________________________________________________
  383. Lane Roathe, Authorized Representative, Ideas From the Deep. Ltd.
  384. Distribution in any form by Microsoft or Prodigy is PROHIBITED!!!
  385. -->Unsolicited bulk email will be proofread @ $500/K, 2K minimum!
  386. Views expressed are my own, not IFD's! Content (c) Copyright 1996
  387. <http://www.ifd.com/lane>                    <http://www.ifd.com>
  388.  
  389. +++++++++++++++++++++++++++
  390.  
  391. From thebug@berlin.snafu.de (TheBug)
  392. Date: Thu, 03 Oct 1996 15:40:31 +0100
  393. Organization: privat
  394.  
  395. In article <lroathe-0310960431110001@news>, lroathe@ifd.com (Lane Roathe) wrote:
  396.  
  397. > 1) Is the ADB Manager native? If not, will it be any time soon?
  398. >   (ie, does it make a difference if I write a 68K ADB driver?)
  399.  
  400. ADB Manager is not native and it will not become native until the new I/O
  401. architecture that was planned for System 8 is rolled in. Writing a PPC
  402. native driver will reduce your performance compared to a 68K driver. It
  403. adds two code switches as the ADB Manager is 68K and you have to switch to
  404. PPC on entry of the driver and back to 68K on exit.
  405.  
  406. > 2) Does anyone have, or can anyone point me to, C source to an ADB driver?
  407. >   (I have 68k source, but would like to be able to build a FAT driver)
  408.  
  409. There is no such thing as C code for ADB drivers the calling interface is
  410. Assembly. The least thing you need is some glue code. And stay away from a
  411. fat driver, it slows you down.
  412.  
  413. -- 
  414. *******************************************************************
  415. Guido Kˆrber -            Programmer and hardware hacker 
  416. thebug@berlin.snafu.de    Specialised in mistreating the ADB
  417. fax: x49-30-773 81 36     Ask me about:
  418.                            Flightstick Pro, Jetstick
  419.                            MacEnjoy, MacEnjoy Style
  420.  
  421. Opinions expressed herein are mine unless expressly stated 
  422. otherwise. Similarities with living or undead persons are
  423. coincidence and not intended - really!   ;-)
  424. Best use before: (see date printed on backside of message)
  425. *******************************************************************
  426.  
  427. +++++++++++++++++++++++++++
  428.  
  429. From thebug@berlin.snafu.de (TheBug)
  430. Date: Thu, 03 Oct 1996 15:40:31 +0100
  431. Organization: privat
  432.  
  433. In article <lroathe-0310960431110001@news>, lroathe@ifd.com (Lane Roathe) wrote:
  434.  
  435. > 1) Is the ADB Manager native? If not, will it be any time soon?
  436. >   (ie, does it make a difference if I write a 68K ADB driver?)
  437.  
  438. ADB Manager is not native and it will not become native until the new I/O
  439. architecture that was planned for System 8 is rolled in. Writing a PPC
  440. native driver will reduce your performance compared to a 68K driver. It
  441. adds two code switches as the ADB Manager is 68K and you have to switch to
  442. PPC on entry of the driver and back to 68K on exit.
  443.  
  444. > 2) Does anyone have, or can anyone point me to, C source to an ADB driver?
  445. >   (I have 68k source, but would like to be able to build a FAT driver)
  446.  
  447. There is no such thing as C code for ADB drivers the calling interface is
  448. Assembly. The least thing you need is some glue code. And stay away from a
  449. fat driver, it slows you down.
  450.  
  451. -- 
  452. *******************************************************************
  453. Guido Kˆrber -            Programmer and hardware hacker 
  454. thebug@berlin.snafu.de    Specialised in mistreating the ADB
  455. fax: x49-30-773 81 36     Ask me about:
  456.                            Flightstick Pro, Jetstick
  457.                            MacEnjoy, MacEnjoy Style
  458.  
  459. Opinions expressed herein are mine unless expressly stated 
  460. otherwise. Similarities with living or undead persons are
  461. coincidence and not intended - really!   ;-)
  462. Best use before: (see date printed on backside of message)
  463. *******************************************************************
  464.  
  465. ---------------------------
  466.  
  467. From rog@rahul.net
  468. Subject: Applescript HELP!
  469. Date: 22 Sep 1996 23:09:48 GMT
  470. Organization: a2i network
  471.  
  472. I am puzzled on how to write an applescript to dragndrop convert/change
  473. creator of a bunch of text files to say, Tex Edit Plus format. Anyone
  474. know how?
  475.  
  476. I am new to apple script and it amazes me how complex yet powerful it is.
  477.  
  478. Email please; rog@rahul.net
  479.  
  480.  
  481.  
  482. +++++++++++++++++++++++++++
  483.  
  484. From msbishop@ix.netcom.com (Matt Bishop)
  485. Date: Sat, 28 Sep 1996 11:58:44 -0500
  486. Organization: Zippo
  487.  
  488. In article <524gvt$32o@bug.rahul.net>, rog@rahul.net wrote:
  489.  
  490. > I am puzzled on how to write an applescript to dragndrop convert/change
  491. > creator of a bunch of text files to say, Tex Edit Plus format. Anyone
  492. > know how?
  493. > I am new to apple script and it amazes me how complex yet powerful it is.
  494. > Email please; rog@rahul.net
  495.  
  496. AppleScript (AS) itself won't do it; you use AS to talk to another
  497. application like ClarisWorks or BBEdit (I think it is scriptable.  Not
  498. sure.). If you want to go to Tex Edit Plus, check that program for an AS
  499. dictionary (it is in the 'File' menu) for commands to open/import and
  500. save.
  501.  
  502. Then, you take each filename, tell TEP to open the filename and then save
  503. it as another name.  It should save it in its own format.
  504.  
  505. voila!  For help, get Danny Goodman's AppleScript Handbook.  It is
  506. invaluable for scripting.
  507.  
  508. Have fun!
  509.  
  510. +++++++++++++++++++++++++++
  511.  
  512. From pmth02jc@umassd.edu (Jim Correia)
  513. Date: Sat, 28 Sep 1996 16:27:29 -0500
  514. Organization: University of Massachusetts Dartmouth
  515.  
  516. In article <msbishop-2809961158440001@news.zippo.com>,
  517. msbishop@ix.netcom.com (Matt Bishop) wrote:
  518.  
  519. >In article <524gvt$32o@bug.rahul.net>, rog@rahul.net wrote:
  520. >
  521. >> I am puzzled on how to write an applescript to dragndrop convert/change
  522. >> creator of a bunch of text files to say, Tex Edit Plus format. Anyone
  523. >> know how?
  524. >> 
  525. >> I am new to apple script and it amazes me how complex yet powerful it is.
  526. >> 
  527. >> Email please; rog@rahul.net
  528. >
  529. >AppleScript (AS) itself won't do it; you use AS to talk to another
  530.  
  531. Right.
  532.  
  533. >application like ClarisWorks or BBEdit (I think it is scriptable.  Not
  534. >sure.). If you want to go to Tex Edit Plus, check that program for an AS
  535. >dictionary (it is in the 'File' menu) for commands to open/import and
  536. >save.
  537. >
  538. >Then, you take each filename, tell TEP to open the filename and then save
  539. >it as another name.  It should save it in its own format.
  540.  
  541. While this is one approach, this is not one I'd highly recommend.  If you
  542. have a text file, and only want to change it so that it will open in
  543. another text editor when double clicked, there are other, more efficient
  544. ways to do it.
  545.  
  546. Your first option is TextChanger.  It is available at
  547. <http://www.barebones.com>.  It will iterate through a folder tree.  It is
  548. very fast.  Extremely fast compared to the same applescript.  If you insist
  549. on doing it in applescript, you do it by talking to the scriptable finder
  550. and change the creator code of each file.  The example below does just
  551. that, but doesn't iterate through folders.  That is left as an excercise
  552. for the reader.
  553.  
  554. on open theFileList
  555.      repeat with theFile in theFileList
  556.           tell application "Finder"
  557.                if the file type of theFile is "TEXT" -- only work on text files
  558.                     set the creator type of theFile to "R*ch" -- BBEdit's
  559.                end if
  560.           end tell
  561.      end repeat
  562. end open
  563.  
  564. Jim
  565.  
  566. -- 
  567. Jim Correia
  568. Software Developer
  569. SimCalc Project     <http://tango.mth.umassd.edu/>
  570. pmth02jc@umassd.edu <http://tango.mth.umassd.edu/correia/>
  571.  
  572. +++++++++++++++++++++++++++
  573.  
  574. From Forrest Johnson <windle@ti.com>
  575. Date: 4 Oct 1996 04:10:22 GMT
  576. Organization: Fred's Fill Dirt & Croissants
  577.  
  578. In article <524gvt$32o@bug.rahul.net>, rog@rahul.net wrote:
  579.  
  580. > I am puzzled on how to write an applescript to dragndrop convert/change
  581. > creator of a bunch of text files to say, Tex Edit Plus format. Anyone
  582. > know how?
  583.  
  584. Use the On Open function to make the script drag'n'drop.  Within the On
  585. Open, loop through the list of files dropped on the script and change the
  586. creator with something like: 
  587.  
  588. On Open filelist
  589.  
  590. repeat with droppedfile in filelist
  591.  
  592. tell application "Finder"
  593.         set creator type of alias droppedfile to "MOSS"
  594. end tell
  595.  
  596. end repeat
  597.  
  598. end open
  599.  
  600. (This code changes the creator to Netscape; you'll have to replace the
  601. MOSS with whatever creator string you need.  You might also have to play
  602. around with the "alias" keyword depending on how you parsed the filename.
  603.  The code might not be exact since I don't have my Applescript books
  604. handy and I'm writing from memory.)
  605.  
  606. When you save the script, save it as an application and check the stay
  607. open and splashscreen boxes to your preference.
  608.  
  609. +++++++++++++++++++++++++++
  610.  
  611. From "Thomas L. Ferrell" <ferrelltl@ornl.gov>
  612. Date: 4 Oct 1996 05:24:14 GMT
  613. Organization: Oak Ridge National Lab
  614.  
  615. By the way, there's a nice little app for this called Tex-Edit Drop Box 
  616. that's just been posted to the INFO-MAC.
  617. tom
  618.  
  619.  
  620.  
  621. +++++++++++++++++++++++++++
  622.  
  623. From "Thomas L. Ferrell" <ferrelltl@ornl.gov>
  624. Date: 4 Oct 1996 05:24:14 GMT
  625. Organization: Oak Ridge National Lab
  626.  
  627. By the way, there's a nice little app for this called Tex-Edit Drop Box 
  628. that's just been posted to the INFO-MAC.
  629. tom
  630.  
  631.  
  632.  
  633. ---------------------------
  634.  
  635. From meir@zoology.washington.edu (Eli Meir)
  636. Subject: C++ Classes to do spreadsheet?
  637. Date: 24 Sep 1996 16:51:32 GMT
  638. Organization: Dept. of Zoology, Univ. of Washington
  639.  
  640. I am using TCL in an educational program, and am looking for a way to
  641. implement a simple spreadsheet in the program.  Does anyone know of a
  642. third party or shareware or pub. domain set of classes that I could use
  643. to do this.  The spreadsheet just needs to do very simple arithmatic
  644. (ie- add and multiply and maybe raise to the power of).  Any
  645. suggestions would be appreciated.  Thanks in advance,
  646.  
  647. Eli Meir
  648. Dept of Zoology, Univ of Washington
  649. meir@zoology.washington.edu
  650.  
  651. +++++++++++++++++++++++++++
  652.  
  653. From msbishop@ix.netcom.com (Matt Bishop)
  654. Date: Fri, 27 Sep 1996 14:52:02 -0500
  655. Organization: Zippo
  656.  
  657. In article <5293ik$ii2@nntp1.u.washington.edu>,
  658. meir@zoology.washington.edu (Eli Meir) wrote:
  659.  
  660. > I am using TCL in an educational program, and am looking for a way to
  661. > implement a simple spreadsheet in the program.  Does anyone know of a
  662. > third party or shareware or pub. domain set of classes that I could use
  663. > to do this.  The spreadsheet just needs to do very simple arithmatic
  664. > (ie- add and multiply and maybe raise to the power of).  Any
  665. > suggestions would be appreciated.  Thanks in advance,
  666. > Eli Meir
  667. > Dept of Zoology, Univ of Washington
  668. > meir@zoology.washington.edu
  669.  
  670.  
  671. Metrowerks PowerPlant has a 'table' class (including a 'tableviewer' class
  672. to display it in a window/navigate the info) that might help...post your
  673. question in comp.sys.mac.programmer.codewarrior to see if anyone has
  674. written one for it.
  675.  
  676. I know Adrenaline Software has an OpenDoc spreadsheet part that works
  677. really well if you want to go that route.
  678.  
  679. Just an idea,
  680.  
  681. +++++++++++++++++++++++++++
  682.  
  683. From dunham@pensee.com (David Dunham)
  684. Date: 4 Oct 1996 17:26:10 GMT
  685. Organization: Pensee Corporation
  686.  
  687. In article <msbishop-2709961452020001@news.zippo.com>,
  688. msbishop@ix.netcom.com (Matt Bishop) wrote:
  689.  
  690. > > I am using TCL in an educational program, and am looking for a way to
  691. > > implement a simple spreadsheet in the program.  Does anyone know of a
  692. > > third party or shareware or pub. domain set of classes that I could use
  693. > > to do this.  The spreadsheet just needs to do very simple arithmatic
  694. > > (ie- add and multiply and maybe raise to the power of).  
  695.  
  696. > Metrowerks PowerPlant has a 'table' class (including a 'tableviewer' class
  697. > to display it in a window/navigate the info) that might help...post your
  698. > question in comp.sys.mac.programmer.codewarrior to see if anyone has
  699. > written one for it.
  700.  
  701. TCL has table classes too, and I suspect they're more robust (much of
  702. PowerPlant's are in the "In Progress" folder). But no table view class
  703. solves the problem of calculation...
  704.  
  705. David Dunham   Pensee Corporation   dunham@pensee.com
  706. Voice/Fax: 206 783 7404             http://www.pensee.com/dunham/
  707.     "I say we should listen to the customers and give them what they want."
  708.     "What they want is better products for free." --Scott Adams
  709.  
  710. +++++++++++++++++++++++++++
  711.  
  712. From clay@herky.cs.uiowa.edu (Matthew Clay)
  713. Date: 4 Oct 1996 20:13:33 GMT
  714. Organization: The University of Iowa
  715.  
  716. From article <dunham-0410961029480001@feather.pensee.com>, by dunham@pensee.com (David Dunham):
  717. > In article <msbishop-2709961452020001@news.zippo.com>,
  718. > msbishop@ix.netcom.com (Matt Bishop) wrote:
  719. >> > I am using TCL in an educational program, and am looking for a way to
  720. >> > implement a simple spreadsheet in the program.  Does anyone know of a
  721. >> > third party or shareware or pub. domain set of classes that I could use
  722. >> > to do this.  The spreadsheet just needs to do very simple arithmatic
  723. >> > (ie- add and multiply and maybe raise to the power of).  
  724. >> Metrowerks PowerPlant has a 'table' class (including a 'tableviewer' class
  725. >> to display it in a window/navigate the info) that might help...post your
  726. >> question in comp.sys.mac.programmer.codewarrior to see if anyone has
  727. >> written one for it.
  728. > TCL has table classes too, and I suspect they're more robust (much of
  729. > PowerPlant's are in the "In Progress" folder). But no table view class
  730. > solves the problem of calculation...
  731.  
  732. They are robust. There's actually a simple, but fairly well-featured
  733. spreadsheet interface in one of the demo projects. It supports a nice
  734. gray background around the edges, resizable rows and columns, etc.
  735. Note it is only an interface, so you must provide the computational
  736. backend. I think the original poster wants not only an interface, but
  737. the computational part as well.
  738.  
  739. -mc
  740.  
  741.  
  742.  
  743. ---------------------------
  744.  
  745. From chrisman@ucdmath.ucdavis.edu (Mark Chrisman)
  746. Subject: Calling SAT from code resource plug-in
  747. Date: Mon, 30 Sep 1996 00:31:26 -0700
  748. Organization: Inreach's InterNetNews Site
  749.  
  750. Suppose I want to make the levels of my game plug-ins (code resources).
  751. Is there a good way to do this?  They would need to call the SAT routines.
  752. Is that even possible for a code resource?
  753.  
  754. +++++++++++++++++++++++++++
  755.  
  756. From ingemar@lysator.liu.se (Ingemar Ragnemalm)
  757. Date: 3 Oct 1996 08:42:11 GMT
  758. Organization: (none)
  759.  
  760. chrisman@ucdmath.ucdavis.edu (Mark Chrisman) writes:
  761.  
  762. >Suppose I want to make the levels of my game plug-ins (code resources).
  763. >Is there a good way to do this?  They would need to call the SAT routines.
  764. >Is that even possible for a code resource?
  765.  
  766. For some yes, for some no. Let's take the no first.
  767.  
  768. Linking the SAT lib into the plug-in is hard or impossible. SAT wants to
  769. have a bunch of globals available. That could be worked around by passing
  770. a pointer to gSAT to all calls that needs it, but that is not the way it
  771. works today.
  772.  
  773. Plug-ins like screen savers are basically out of the question. However, should
  774. a screen saver allocate all the memory needed for double-buffered animation?
  775.  
  776. Plug-ins to a program of your own is another matter. In such a case, you
  777. have control over the interface between the code resource and the main
  778. program, so you can pass the addresses to the SAT calls you need. Make a
  779. record with a bunch of procedure pointers, and perhaps a pointer to gSAT
  780. as well, and pass a pointer to that record to the plug-in. Then the plug-in
  781. can make any of these calls. SAT is linked with the main program, so it has
  782. all the globals it needs.
  783.  
  784. So in your case, it seems to me that the answer is YES!
  785.  
  786. --
  787. - -
  788. Ingemar Ragnemalm, PhD
  789. Image processing, Mac shareware games
  790. E-mail address: ingemar@isy.liu.se or ingemar@lysator.liu.se
  791.  
  792. ---------------------------
  793.  
  794. From erik@lexmark.com (Erik Ackerman)
  795. Subject: Changing colors in a PICT
  796. Date: Fri, 4 Oct 1996 16:34:15 GMT
  797. Organization: Analysts International Corporation
  798.  
  799. Ok, I feel foolish.  This ought to be really easy, but so far no dice:
  800.  
  801. I have a bunch of PICTs in resources.  I put them together to show
  802. different things.  Depending on the state of these things, I want to color
  803. them differently.  So in the PICTs there are areas that are colored with
  804. "false" colors (i.e. cyan) that usually will be changed to one color (i.e.
  805. gray), but sometimes will be changed to another (i.e. red).  I tried using
  806. the following routine to effect this change, but no dice.  I have come to
  807. the (perhaps obvious) conclusion that GetPictInfo() creates a color table
  808. rather than returning a handle to an existing one, and therefore it is
  809. unreasonable to try to effect changes through the returned table.  Any
  810. suggestions?
  811.  
  812. void ChangePictColors(  PicHandle inPict, 
  813.                         const RGBColor inFromColor, 
  814.                         const RGBColor inToColor) {
  815.    PictInfo   thePictInfo;
  816.    
  817.    short anErr = GetPictInfo(inPict, &thePictInfo, 0x1f, 256, 0, 0);
  818.    if(anErr != noErr)
  819.       return;
  820.  
  821.    CTabHandle  theColorTable = thePictInfo.theColorTable;
  822.    ColorSpec   *theCurrentEntry;
  823.    for(short i = 0; i < theColorTable[0]->ctSize; i++) {
  824.       theCurrentEntry = &(theColorTable[0]->ctTable[i]);
  825.       if(   theCurrentEntry->rgb.red == inFromColor.red &&
  826.             theCurrentEntry->rgb.green == inFromColor.green &&
  827.             theCurrentEntry->rbg.blue == inFromColor.blue) {
  828.          theCurrentEntry->rgb = inToColor;
  829.          CTabChanged(theColorTable);
  830.    }
  831. }
  832.  
  833. -- 
  834. Life's not complete 'til your heart's skipped a beat. - Prefab Sprout
  835.  
  836. +++++++++++++++++++++++++++
  837.  
  838. From erik@lexmark.com (Erik Ackerman)
  839. Date: Fri, 4 Oct 1996 17:31:55 GMT
  840. Organization: Analysts International Corporation
  841.  
  842. In article <erik-0410961234160001@sophie.noc.lexmark.com>,
  843. erik@lexmark.com (Erik Ackerman) wrote:
  844.  
  845. >Ok, I feel foolish.  This ought to be really easy, but so far no dice:
  846. >
  847. >I have a bunch of PICTs in resources.  I put them together to show
  848. >different things.  Depending on the state of these things, I want to color
  849. >them differently.  So in the PICTs there are areas that are colored with
  850. >"false" colors (i.e. cyan) that usually will be changed to one color (i.e.
  851. >gray), but sometimes will be changed to another (i.e. red).  I tried using
  852. >the following routine to effect this change, but no dice.  I have come to
  853. >the (perhaps obvious) conclusion that GetPictInfo() creates a color table
  854. >rather than returning a handle to an existing one, and therefore it is
  855. >unreasonable to try to effect changes through the returned table.  Any
  856. >suggestions?
  857. >
  858. >void ChangePictColors(  PicHandle inPict, 
  859. >                        const RGBColor inFromColor, 
  860. >                        const RGBColor inToColor) {
  861. >   PictInfo   thePictInfo;
  862. >   
  863. >   short anErr = GetPictInfo(inPict, &thePictInfo, 0x1f, 256, 0, 0);
  864. >   if(anErr != noErr)
  865. >      return;
  866. >
  867. >   CTabHandle  theColorTable = thePictInfo.theColorTable;
  868. >   ColorSpec   *theCurrentEntry;
  869. >   for(short i = 0; i < theColorTable[0]->ctSize; i++) {
  870. >      theCurrentEntry = &(theColorTable[0]->ctTable[i]);
  871. >      if(   theCurrentEntry->rgb.red == inFromColor.red &&
  872. >            theCurrentEntry->rgb.green == inFromColor.green &&
  873. >            theCurrentEntry->rbg.blue == inFromColor.blue) {
  874. >         theCurrentEntry->rgb = inToColor;
  875. >         CTabChanged(theColorTable);
  876. >   }
  877. >}
  878. >
  879. >-- 
  880. >Life's not complete 'til your heart's skipped a beat. - Prefab Sprout
  881.  
  882. Ok, fixed it.  I do roughly the same thing, but in a BitsProc with the
  883. individual PixMaps instead of to the PICT as a whole.  Works great.  Sorry
  884. for the waste of bandwidth.
  885.  
  886. Erik
  887.  
  888. -- 
  889. Life's not complete 'til your heart's skipped a beat. - Prefab Sprout
  890.  
  891. +++++++++++++++++++++++++++
  892.  
  893. From Online@MacTech.com ( nick.c @MT )
  894. Date: Fri, 04 Oct 1996 17:48:52 -0800
  895. Organization: MacTech Magazine
  896.  
  897.  
  898.  
  899. erik@lexmark.com (Erik Ackerman) wrote:
  900.  
  901. >Ok, fixed it.  I do roughly the same thing, but in a BitsProc with the
  902. >individual PixMaps instead of to the PICT as a whole.  Works great.  Sorry
  903. >for the waste of bandwidth.
  904.  
  905.  
  906.    FYI, there was an article in _develop_ (around issue 20, give or
  907.      take an issue) that dealt with swapping out color tables for
  908.      picts.  As I recall it was a method for taking up less disk
  909.      space by using a single color table for multiple picts--sorry
  910.      I don't remember the details too well and don't have the issue
  911.      handy.  Anyway, it might be worth digging up that article
  912.      just as a general reference for what you're working on.  Luck,
  913.  
  914. ____Nicholas C. DeMello, Ph.D.________________________________________
  915.  
  916.    Online from MacTech Magazine, for Mac OS Programmers and Developers
  917.      http://www.MacTech.com/
  918.                                        _/   _/  _/  _/_/_/   _/   _/  
  919.   Chemistry: Nick@chem.UCLA.edu       _/_/ _/  _/  _/   _/  _/_/_/ 
  920.     MacTech: Online@MacTech.com      _/ _/_/  _/  _/       _/ _/    
  921.        http://www.chem.ucla.edu/~nick/   _/  _/   _/_/_/  _/   _/     
  922.  
  923. ---------------------------
  924.  
  925. From wkw+@pitt.edu (William Walker)
  926. Subject: Cross-compiling Visual C++ w- MFC to the Mac
  927. Date: Tue, 01 Oct 1996 15:57:36 -0400
  928. Organization: Section of Medical Informatics, U. of Pittsburgh
  929.  
  930.  
  931. I have a graphics animation and sound intensive Windows application that
  932. works fine under Windows and I am creating working Macintosh 680x0 and PPC
  933. applications using the Visual C++ Cross Compiler.  However, the Mac
  934. applications are slow (esp. the 680x0).  
  935.  
  936. I am trying to find out two things:
  937.  
  938. 1) Is the lower performance typical of the Visual C++ Cross Compiler (and
  939. the associated Windows API emulation library)?  If so, is there anything
  940. simple I can do or should avoid to get better performance?
  941.  
  942. 2) With the libraries and source code supplied with the Visual C++ Cross
  943. Compiler, is it possible to compile the Windows code using a Mac-based
  944. compiler (CodeWarrior?) and get better performance?
  945.  
  946. Anyone's experience here is greatly appreciated.  Please no flames, I am
  947. in a bind and I have inherited this situation--I would not have chosen to
  948. develop a cross platform application using this method.
  949.  
  950. Peace.
  951.  
  952. --Willy
  953. _____________________________________________  
  954. Willy Walker                    wkw+@pitt.edu    In Pittsburgh we have
  955. Image Engine Project                             two seasons, how many
  956. University of Pittsburgh, PA     412/692-4454    you got?        -WDVE
  957.  
  958. +++++++++++++++++++++++++++
  959.  
  960. From bpettit@aimnet.com (Brad Pettit)
  961. Date: Tue, 01 Oct 1996 14:22:58 -0700
  962. Organization: Apple Computer
  963.  
  964. In article <wkw+-0110961557360001@wicklow.cml.upmc.edu>, wkw+@pitt.edu
  965. (William Walker) wrote:
  966.  
  967. > I have a graphics animation and sound intensive Windows application that
  968. > works fine under Windows and I am creating working Macintosh 680x0 and PPC
  969. > applications using the Visual C++ Cross Compiler.  However, the Mac
  970. > applications are slow (esp. the 680x0).  
  971. >
  972. > Anyone's experience here is greatly appreciated.  Please no flames, I am
  973. > in a bind and I have inherited this situation--I would not have chosen to
  974. > develop a cross platform application using this method.
  975. > Peace.
  976. > --Willy
  977.  
  978. Willy, 
  979.  
  980. Check out http://www.willows.com/ and their Willows Toolkit (Formerly TWIN API).
  981.  
  982. --Brad
  983.  
  984. +++++++++++++++++++++++++++
  985.  
  986. From rliechty@tdsnet.com (MW Ron)
  987. Date: Tue, 01 Oct 1996 22:11:25 -0400
  988. Organization: Metrowerks
  989.  
  990. In article <wkw+-0110961557360001@wicklow.cml.upmc.edu>, wkw+@pitt.edu
  991. (William Walker) wrote:
  992.  
  993. >I have a graphics animation and sound intensive Windows application that
  994. >works fine under Windows and I am creating working Macintosh 680x0 and PPC
  995. >applications using the Visual C++ Cross Compiler.  However, the Mac
  996. >applications are slow (esp. the 680x0).  
  997. >
  998. >I am trying to find out two things:
  999. >
  1000. >1) Is the lower performance typical of the Visual C++ Cross Compiler (and
  1001. >the associated Windows API emulation library)?  If so, is there anything
  1002. >simple I can do or should avoid to get better performance?
  1003.  
  1004. I believe that thise is the problem, maybe someone else can help you with
  1005. optimization techniques
  1006.  
  1007. >2) With the libraries and source code supplied with the Visual C++ Cross
  1008. >Compiler, is it possible to compile the Windows code using a Mac-based
  1009. >compiler (CodeWarrior?) and get better performance?
  1010.  
  1011. Sorry  Metrowerks CodeWarrior can not build Macintosh applications with
  1012. the MFC for Mac.  CodeWarrior can use MFC for Windows and generate Windows
  1013. code but not the other way around.  I believe that the MFC For Mac files
  1014. are only compiliable under Win32 and Visual C++. 
  1015.  
  1016.  
  1017. Ron
  1018.  
  1019. -- 
  1020. METROWERKS                   Ron Liechty
  1021. "Software at Work"    MWRon@metrowerks.com
  1022. http://www.metrowerks.com/about/people/rogues.html#mwron
  1023.  
  1024. +++++++++++++++++++++++++++
  1025.  
  1026. From "Brian Mowatt" <Brian.Mowatt@dial.pipex.com>
  1027. Date: 3 Oct 1996 08:39:04 GMT
  1028. Organization: Crocodile Clips Ltd.
  1029.  
  1030. William Walker <wkw+@pitt.edu> wrote in article
  1031. <wkw+-0110961557360001@wicklow.cml.upmc.edu>...
  1032. > I have a graphics animation and sound intensive Windows application that
  1033. > works fine under Windows and I am creating working Macintosh 680x0 and
  1034. PPC
  1035. > applications using the Visual C++ Cross Compiler.  However, the Mac
  1036. > applications are slow (esp. the 680x0).  
  1037. > I am trying to find out two things:
  1038. etc.
  1039. I have the same problem..
  1040. As far as i'm aware though with the cross compiler you can make calls to
  1041. the Mac API more directly, bypassing the MFC layer altogether. Ive already
  1042. done a little for mac sound that is more advanced than the cross compiler
  1043. would offer. Therefore If you want to learn the mac equivalent graphics
  1044. calls
  1045. (e.g. copybits <=> bitblt etc) and use them then in key places I would
  1046. imagine that speed would be improved. I'm probably going to give it a go
  1047. soon anyway, as I'm in exactly the same boat!
  1048. Hope thats of some help.
  1049.  
  1050. Brian.Mowatt@dial.pipex.com
  1051.  
  1052.  
  1053. ---------------------------
  1054.  
  1055. From frankkim@antoniades.lcs.mit.edu (Frank Kim)
  1056. Subject: GetSharedLibrary ()?  Documentation on loading shared libraries?
  1057. Date: 3 Oct 1996 12:12:53 GMT
  1058. Organization: MIT Laboratory for Computer Science, Cambridge MA
  1059.  
  1060. Hi,
  1061.  
  1062. The Targeting MacOS manual mentions the function GetSharedLibrary() but
  1063. I have been unable to find any documentation in the Inside Mac series or
  1064. CodeWarrior stuff.
  1065.  
  1066. Basically I am looking for documentation on Mac equivalents to these
  1067. commands on other platforms:
  1068.  
  1069. Windows: LoadLibrary, FreeLibrary, GetProcAddress
  1070. Unix:    dlopen, dlclose
  1071.  
  1072. Any help would be most appreciated!
  1073.  
  1074. -- 
  1075. Frank Kim    frankkim@catfish.lcs.mit.edu
  1076.         http://cag-www.lcs.mit.edu/~frankkim/
  1077.                    
  1078.  
  1079. +++++++++++++++++++++++++++
  1080.  
  1081. From awiner@oracle.com (Adam Winer)
  1082. Date: Thu, 03 Oct 1996 12:05:28 -0800
  1083. Organization: Oracle Corporation
  1084.  
  1085. In article <530ak5$5qs@GRAPEVINE.LCS.MIT.EDU>,
  1086. frankkim@antoniades.lcs.mit.edu (Frank Kim) wrote:
  1087.  
  1088. > Hi,
  1089. > The Targeting MacOS manual mentions the function GetSharedLibrary() but
  1090. > I have been unable to find any documentation in the Inside Mac series or
  1091. > CodeWarrior stuff.
  1092. > Basically I am looking for documentation on Mac equivalents to these
  1093. > commands on other platforms:
  1094. > Windows: LoadLibrary, FreeLibrary, GetProcAddress
  1095. > Unix:    dlopen, dlclose
  1096.  
  1097. The documentation is in Inside Mac:PowerPC System Software.
  1098. Despite the "PowerPC" moniker, it also applies to CFM-68K
  1099. code, though not to standard 68K applications.
  1100.  
  1101. All the docs can be found at:
  1102. <http://devworld.apple.com/dev/techsupport/insidemac/PPCSoftware/PPCSoftware-
  1103. 2.html>
  1104.  
  1105. -- Adam Winer
  1106. awiner@us.oracle.com
  1107.  
  1108. -- 
  1109. Adam Winer
  1110. awiner@us.oracle.com
  1111. Technical Staff, Oracle Corp.
  1112.  
  1113. +++++++++++++++++++++++++++
  1114.  
  1115. From awiner@oracle.com (Adam Winer)
  1116. Date: Thu, 03 Oct 1996 12:05:28 -0800
  1117. Organization: Oracle Corporation
  1118.  
  1119. In article <530ak5$5qs@GRAPEVINE.LCS.MIT.EDU>,
  1120. frankkim@antoniades.lcs.mit.edu (Frank Kim) wrote:
  1121.  
  1122. > Hi,
  1123. > The Targeting MacOS manual mentions the function GetSharedLibrary() but
  1124. > I have been unable to find any documentation in the Inside Mac series or
  1125. > CodeWarrior stuff.
  1126. > Basically I am looking for documentation on Mac equivalents to these
  1127. > commands on other platforms:
  1128. > Windows: LoadLibrary, FreeLibrary, GetProcAddress
  1129. > Unix:    dlopen, dlclose
  1130.  
  1131. The documentation is in Inside Mac:PowerPC System Software.
  1132. Despite the "PowerPC" moniker, it also applies to CFM-68K
  1133. code, though not to standard 68K applications.
  1134.  
  1135. All the docs can be found at:
  1136. <http://devworld.apple.com/dev/techsupport/insidemac/PPCSoftware/PPCSoftware-
  1137. 2.html>
  1138.  
  1139. -- Adam Winer
  1140. awiner@us.oracle.com
  1141.  
  1142. -- 
  1143. Adam Winer
  1144. awiner@us.oracle.com
  1145. Technical Staff, Oracle Corp.
  1146.  
  1147. ---------------------------
  1148.  
  1149. From six@emf.net (Chris Weiss)
  1150. Subject: Help! Icons not showing up!
  1151. Date: Wed, 25 Sep 1996 01:46:18 GMT
  1152. Organization: CCnet Communications (510-988-7140 guest)
  1153.  
  1154. We're trying to re-master several old products on one large CD with
  1155. some new files added and are running into a weird problem with icons.
  1156. Several of the files are displaying the incorrect icons (either icons
  1157. of the creator program or incorrect color-depth) on most systems.
  1158. We've tried rebuilding the desktop and have verified that the
  1159. resources have the correct icons in them (using ResEdit). We have one
  1160. machine that displays the icons correctly, but we can't use it to
  1161. build the masters. We've run into this problem in the past, but nobody
  1162. remembers how we solved it and our Mac gurus are out of town.
  1163.  
  1164. A few questions - What should the IDs of the icons be? Most of the
  1165. files are set to 128, but a few have -65xxx. Is there a procedure to
  1166. select the default icon that is used (from the ICL4, ICL8, etc
  1167. resources). What happens if a file only has an ICN# resource and no
  1168. ICL4, ICL8, etc?
  1169.  
  1170. I know the solution is something simple, but I'm really not familiar
  1171. with Mac procedures so I'm sort of lost on where to even start
  1172. looking.
  1173.  
  1174. +++++++++++++++++++++++++++
  1175.  
  1176. From g-kendall@nwu.edu (Brian Kendall)
  1177. Date: Wed, 25 Sep 1996 17:30:51 -0400
  1178. Organization: Programmer
  1179.  
  1180. In article <32488d99.33761705@news.ccnet.com>, six@emf.net (Chris Weiss) wrote:
  1181.  
  1182. > We're trying to re-master several old products on one large CD with
  1183. > some new files added and are running into a weird problem with icons.
  1184. > Several of the files are displaying the incorrect icons (either icons
  1185. > of the creator program or incorrect color-depth) on most systems.
  1186. > We've tried rebuilding the desktop and have verified that the
  1187. > resources have the correct icons in them (using ResEdit). We have one
  1188. > machine that displays the icons correctly, but we can't use it to
  1189. > build the masters. We've run into this problem in the past, but nobody
  1190. > remembers how we solved it and our Mac gurus are out of town.
  1191. > A few questions - What should the IDs of the icons be? Most of the
  1192. > files are set to 128, but a few have -65xxx. Is there a procedure to
  1193. > select the default icon that is used (from the ICL4, ICL8, etc
  1194. > resources). What happens if a file only has an ICN# resource and no
  1195. > ICL4, ICL8, etc?
  1196. > I know the solution is something simple, but I'm really not familiar
  1197. > with Mac procedures so I'm sort of lost on where to even start
  1198. > looking.
  1199.  
  1200. The easiest way to set the icon of something is to get the info for it,
  1201. select the icon picture in the top left hand corner, and paste in a
  1202. picture. (That's good for folders and documents. Applications should use a
  1203. BNDL.)
  1204.  
  1205. This creates an icl8, icl4, icl#, ics8, ics4, and an ics# all with an ID
  1206. of -16455 (or your basic icon family). This also turns on the 'use custom
  1207. icon' setting to the file or folder. It's probably the easiest way to set
  1208. up an icon.
  1209. If you did this to a folder, an invisible file called 'icon' is placed in
  1210. the folder to set everything up.
  1211.  
  1212. Hope this helps.
  1213.  
  1214. Brian K.
  1215.  
  1216. ãããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããã
  1217. "If you take cranberries and stew them like apple sauce, it tastes
  1218. much more like prunes then rhubarb does." ã Groucho Marx
  1219. ãããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããã
  1220.  
  1221. +++++++++++++++++++++++++++
  1222.  
  1223. From Russ Hendy <Russ@tui.co.uk>
  1224. Date: Thu, 26 Sep 1996 11:26:09 +0000
  1225. Organization: tui interactive media
  1226.  
  1227. Chris -
  1228.  
  1229. Your default custom icon ID is -16455.
  1230.  
  1231. If you make an icon, add ICN#, icl8, icl4, ics#, ics8 ics4 icons all
  1232. with -16455 ID's. The computer reading the icons will choose icons
  1233. depending on the colour attributes set on that machine, and whether it's
  1234. looking at small (ics) or large (ics) icons.
  1235.  
  1236.  
  1237. That's the easiest solution, although BNDL resources are probably the
  1238. best way to go. 
  1239.  
  1240.  
  1241. (By the way, when you save your resource fork with the icons in, first
  1242. change the file attributes - in ResEdit it's FILE|Get Info For
  1243. <yourfile> - so that 'Inited' is false, and 'Use Custom Icon' is true.
  1244. When you restart, you should see your new icons, although a desktop
  1245. database rebuild can be a good move.)
  1246.  
  1247. Regards,
  1248. Russ.
  1249.  
  1250. +++++++++++++++++++++++++++
  1251.  
  1252. From "Aidan Cully" <aidan@panix.com>
  1253. Date: 3 Oct 96 02:19:48 -0400
  1254. Organization: INTAC Access Corporation - An Internet Service Provider
  1255.  
  1256. >In article <32488d99.33761705@news.ccnet.com>, six@emf.net (Chris Weiss)
  1257. >wrote:
  1258. >
  1259. >> We're trying to re-master several old products on one large CD with
  1260. >> some new files added and are running into a weird problem with icons.
  1261. >> Several of the files are displaying the incorrect icons (either icons
  1262. >> of the creator program or incorrect color-depth) on most systems.
  1263. >> We've tried rebuilding the desktop and have verified that the
  1264. >> resources have the correct icons in them (using ResEdit). We have one
  1265. >> machine that displays the icons correctly, but we can't use it to
  1266. >> build the masters. We've run into this problem in the past, but nobody
  1267. >> remembers how we solved it and our Mac gurus are out of town.
  1268. >> 
  1269. >> A few questions - What should the IDs of the icons be? Most of the
  1270. >> files are set to 128, but a few have -65xxx. Is there a procedure to
  1271. >> select the default icon that is used (from the ICL4, ICL8, etc
  1272. >> resources). What happens if a file only has an ICN# resource and no
  1273. >> ICL4, ICL8, etc?
  1274. >> 
  1275. >> I know the solution is something simple, but I'm really not familiar
  1276. >> with Mac procedures so I'm sort of lost on where to even start
  1277. >> looking.
  1278. >
  1279. >The easiest way to set the icon of something is to get the info for it,
  1280. >select the icon picture in the top left hand corner, and paste in a
  1281. >picture. (That's good for folders and documents. Applications should use a
  1282. >BNDL.)
  1283. >
  1284. >This creates an icl8, icl4, icl#, ics8, ics4, and an ics# all with an ID
  1285. >of -16455 (or your basic icon family). This also turns on the 'use custom
  1286. >icon' setting to the file or folder. It's probably the easiest way to set
  1287. >up an icon.
  1288. >If you did this to a folder, an invisible file called 'icon' is placed in
  1289. >the folder to set everything up.
  1290. >
  1291. >Hope this helps.
  1292. >
  1293. >Brian K.
  1294. >
  1295. >??????????????????????????????????????????????????????????????????
  1296. >"If you take cranberries and stew them like apple sauce, it tastes
  1297. >much more like prunes then rhubarb does." ? Groucho Marx
  1298. >??????????????????????????????????????????????????????????????????
  1299.  
  1300. It might also be the case that you have to use ResEdit to get the catalog
  1301. info for your files and clear the INITed field, and rebuild the desktop
  1302. afterwards.
  1303.  
  1304. HTH
  1305. --Aidan
  1306.  
  1307.  
  1308.  
  1309. ---------------------------
  1310.  
  1311. From kgardner@mail.nuc.ucla.edu (Kent Gardner)
  1312. Subject: How do you call math routines in a code resource
  1313. Date: 30 Sep 1996 16:26:14 GMT
  1314. Organization: UCLA
  1315.  
  1316. I am using the Symantec C++ compiler to write a code resource that
  1317. requires calls to math routines. Math routines (e.g., SIN) are not 
  1318. part of the ANSI-A4 library. Any suggestions on how to make the call.
  1319. I assume I'll need to save an restore registers... Is there an 
  1320. example out there on how to do this. Thanks in advance.
  1321.  
  1322. Kent Gardner
  1323.  
  1324. Pharmacology/Crump Institute, UCLA
  1325. B2-086 CHS 694817
  1326. Los Angeles, California 90095
  1327. e-mail: gardner@mail.nuc.ucla.edu
  1328.  
  1329. +++++++++++++++++++++++++++
  1330.  
  1331. From andrewc@vasci.com (Andrew Cunningham)
  1332. Date: Mon, 30 Sep 1996 18:42:32 -0700
  1333. Organization: Vibro-Acoustic Sciences Inc
  1334.  
  1335. In article <kgardner-3009960929290001@149.142.171.200>,
  1336. kgardner@mail.nuc.ucla.edu (Kent Gardner) wrote:
  1337.  
  1338. > I am using the Symantec C++ compiler to write a code resource that
  1339. > requires calls to math routines. Math routines (e.g., SIN) are not 
  1340. > part of the ANSI-A4 library. Any suggestions on how to make the call.
  1341. > I assume I'll need to save an restore registers... Is there an 
  1342. > example out there on how to do this. Thanks in advance.
  1343. > Kent Gardner
  1344.  
  1345.  
  1346. Kent,
  1347. Easy solution - just add the library sources you need to the math library 
  1348. right into your code resource project! They just left out that stuff to
  1349. keep the ANSI-A4 libary small.
  1350.  
  1351. Andrew
  1352.  
  1353. -- 
  1354. Andrew Cunningham
  1355. Vibro-Acoustic Sciences Inc
  1356. Ph:  +1-(619) 597 7535
  1357. Fax: +1-(619) 597 7414
  1358. e-mail: andrewc@vasci.com
  1359.  
  1360. +++++++++++++++++++++++++++
  1361.  
  1362. From jgarden@192.219.29.90
  1363. Date: 3 Oct 96 15:02:49 -0300
  1364. Organization: isis, Incorporated
  1365.  
  1366. >I am using the Symantec C++ compiler to write a code resource that
  1367. >requires calls to math routines. Math routines (e.g., SIN) are not 
  1368. >part of the ANSI-A4 library. Any suggestions on how to make the call.
  1369. >I assume I'll need to save an restore registers... Is there an 
  1370. >example out there on how to do this. Thanks in advance.
  1371. >
  1372. >Kent Gardner
  1373. >
  1374.  
  1375. I haven't tried it myself, but you might try just including the source for
  1376. the math routines - ie. math.c or whatever.
  1377.  
  1378. JG@PI
  1379.  
  1380. +++++++++++++++++++++++++++
  1381.  
  1382. From paul@graphsoft.com (Paul C. Pharr)
  1383. Date: Thu, 03 Oct 1996 19:06:35 -0400
  1384. Organization: Graphsoft, Inc.
  1385.  
  1386. In article <kgardner-3009960929290001@149.142.171.200>,
  1387. kgardner@mail.nuc.ucla.edu (Kent Gardner) wrote:
  1388.  
  1389. >I am using the Symantec C++ compiler to write a code resource that
  1390. >requires calls to math routines. Math routines (e.g., SIN) are not 
  1391. >part of the ANSI-A4 library. Any suggestions on how to make the call.
  1392. >I assume I'll need to save an restore registers... Is there an 
  1393. >example out there on how to do this. Thanks in advance.
  1394. >
  1395.  
  1396. Although I use Metrowerks compilers these days, I recall that simply
  1397. adding math.c to the ANSI/A4 project & rebuilding does the trick. If you
  1398. need to use sprintf with floating point numbers, you also need to set the
  1399. prefix for that project to enable floating point support.
  1400.  
  1401. Paul C. Pharr
  1402.  
  1403. +++++++++++++++++++++++++++
  1404.  
  1405. From paul@graphsoft.com (Paul C. Pharr)
  1406. Date: Thu, 03 Oct 1996 19:06:35 -0400
  1407. Organization: Graphsoft, Inc.
  1408.  
  1409. In article <kgardner-3009960929290001@149.142.171.200>,
  1410. kgardner@mail.nuc.ucla.edu (Kent Gardner) wrote:
  1411.  
  1412. >I am using the Symantec C++ compiler to write a code resource that
  1413. >requires calls to math routines. Math routines (e.g., SIN) are not 
  1414. >part of the ANSI-A4 library. Any suggestions on how to make the call.
  1415. >I assume I'll need to save an restore registers... Is there an 
  1416. >example out there on how to do this. Thanks in advance.
  1417. >
  1418.  
  1419. Although I use Metrowerks compilers these days, I recall that simply
  1420. adding math.c to the ANSI/A4 project & rebuilding does the trick. If you
  1421. need to use sprintf with floating point numbers, you also need to set the
  1422. prefix for that project to enable floating point support.
  1423.  
  1424. Paul C. Pharr
  1425.  
  1426. ---------------------------
  1427.  
  1428. From timmyd@netcom.com (Tim DeBenedictis)
  1429. Subject: How to create MacOS 6-7 dual-boot system?
  1430. Date: Thu, 26 Sep 1996 21:46:50 GMT
  1431. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  1432.  
  1433. I got a hold of an ancient Mac IIci in order to test some software with 
  1434. very old Mac System Software.  I want to install System 6.0.8, 7.0.1, 
  1435. 7.1.3, and 7.5.5 all on this machine; in order to do so, I need to divide 
  1436. the hard drive into (at least) 4 partitions, each containing the 
  1437. requisite Mac system software.
  1438.  
  1439. When I used Apple's HD SC Setup program to custom-partition the drive, 
  1440. however, I ran into a problem: once I created a Mac volume on the drive, 
  1441. the HD SC Setup program would no longer present me with the option of 
  1442. creating another one!  This was true with the version of HD SC Setup 
  1443. included with -every- System Software version mentioned above.  Is there 
  1444. any way to get Apple HD SC Setup to do what I want?  Or do I have to use 
  1445. a third-party HD formatting utility like FWB or Silverlining?
  1446.  
  1447. Alternatively, is it possible to create a multiple-System configuration 
  1448. without partitioning the hard drive?  Somewhere I remeber seeing a 
  1449. control panel (?) called System Picker (I think) which would let the user 
  1450. pick an "active" system folder on a single drive with multiple System 
  1451. folders.
  1452.  
  1453. Would simply renaming the System Folders I don't want to use something 
  1454. other than "System Folder" work?  I haven't tried this yet but I don't 
  1455. think it will be this easy.
  1456.  
  1457. Thanks, and please send e-mail as well as posting,
  1458.  
  1459. -Tim DeBenedictis
  1460. timmyd@netcom.com
  1461.  
  1462.  
  1463. +++++++++++++++++++++++++++
  1464.  
  1465. From nevin@CS.Arizona.EDU (Nevin ":-]" Liber)
  1466. Date: Sat, 28 Sep 1996 11:32:23 -0700
  1467. Organization: University of Arizona CS Department, Tucson "It's too dang hot!" Arizona
  1468.  
  1469. In article <timmydDyD0I2.H6K@netcom.com>, timmyd@netcom.com (Tim
  1470. DeBenedictis) wrote:
  1471.  
  1472. > When I used Apple's HD SC Setup program to custom-partition the drive, 
  1473. > however, I ran into a problem: once I created a Mac volume on the drive, 
  1474. > the HD SC Setup program would no longer present me with the option of 
  1475. > creating another one!  This was true with the version of HD SC Setup 
  1476. > included with -every- System Software version mentioned above.  Is there 
  1477. > any way to get Apple HD SC Setup to do what I want?
  1478.  
  1479. Make sure you have a copy of the latest Apple HD SC Setup (7.3.5); I don't
  1480. believe that the previous versions allow multiple partitions.
  1481.  
  1482. > Alternatively, is it possible to create a multiple-System configuration 
  1483. > without partitioning the hard drive?
  1484.  
  1485. Yes.  What makes a system folder "blessed" is having both "Finder" and
  1486. "System" in it.  You can unbless a folder by moving one of these out of the
  1487. system folder (I usually put the Finder in a subfolder), and bless a
  1488. different one by putting the appropriate Finder and System files in the
  1489. same folder.  I know that there are some utilities out there that do this,
  1490. but I haven't used any of them in years.
  1491.  
  1492. > Would simply renaming the System Folders I don't want to use something 
  1493. > other than "System Folder" work?
  1494.  
  1495. You can rename system folders to whatever you want; it doesn't matter.
  1496. -- 
  1497.         Nevin ":-)" Liber       nevin@CS.Arizona.EDU    (520) 293-2799
  1498.                                 http://www.cs.arizona.edu/people/nevin/
  1499.  
  1500. +++++++++++++++++++++++++++
  1501.  
  1502. From chaz@visi.com (Chaz Larson)
  1503. Date: Thu, 03 Oct 1996 22:41:57 -0500
  1504. Organization: Mystery Men
  1505.  
  1506. In article <timmydDyD0I2.H6K@netcom.com>, timmyd@netcom.com (Tim
  1507. DeBenedictis) wrote:
  1508.  
  1509. > Or do I have to use 
  1510. > a third-party HD formatting utility like FWB or Silverlining?
  1511.  
  1512. Yes, so far as I know.
  1513.  
  1514. > Alternatively, is it possible to create a multiple-System configuration 
  1515. > without partitioning the hard drive?  Somewhere I remeber seeing a 
  1516. > control panel (?) called System Picker (I think) which would let the user 
  1517. > pick an "active" system folder on a single drive with multiple System 
  1518. > folders.
  1519.  
  1520. oooh.  Don't do this.  In theory, it will work, but the method is fraught
  1521. with peril.
  1522.  
  1523. > Would simply renaming the System Folders I don't want to use something 
  1524. > other than "System Folder" work?  I haven't tried this yet but I don't 
  1525. > think it will be this easy.
  1526.  
  1527. Say you have four system folders on the disk.  To make System Folder A
  1528. active, you'd make sure that it was the only one in which System and
  1529. FInder are at the same level, then open and close it, then reboot.
  1530.  
  1531. But you really don't want to do that.  Partition the drive, or better yet
  1532. get a zip drive and use four zip carts for your four Systems.  If you
  1533. regularly change between System 6, 7, and 7.5, you'll be rebuilding your
  1534. desktop with every boot.  Yuck.
  1535.  
  1536. chazl
  1537. 10.03.96
  1538. - ------
  1539.  
  1540. +++++++++++++++++++++++++++
  1541.  
  1542. From chaz@visi.com (Chaz Larson)
  1543. Date: Thu, 03 Oct 1996 22:41:57 -0500
  1544. Organization: Mystery Men
  1545.  
  1546. In article <timmydDyD0I2.H6K@netcom.com>, timmyd@netcom.com (Tim
  1547. DeBenedictis) wrote:
  1548.  
  1549. > Or do I have to use 
  1550. > a third-party HD formatting utility like FWB or Silverlining?
  1551.  
  1552. Yes, so far as I know.
  1553.  
  1554. > Alternatively, is it possible to create a multiple-System configuration 
  1555. > without partitioning the hard drive?  Somewhere I remeber seeing a 
  1556. > control panel (?) called System Picker (I think) which would let the user 
  1557. > pick an "active" system folder on a single drive with multiple System 
  1558. > folders.
  1559.  
  1560. oooh.  Don't do this.  In theory, it will work, but the method is fraught
  1561. with peril.
  1562.  
  1563. > Would simply renaming the System Folders I don't want to use something 
  1564. > other than "System Folder" work?  I haven't tried this yet but I don't 
  1565. > think it will be this easy.
  1566.  
  1567. Say you have four system folders on the disk.  To make System Folder A
  1568. active, you'd make sure that it was the only one in which System and
  1569. FInder are at the same level, then open and close it, then reboot.
  1570.  
  1571. But you really don't want to do that.  Partition the drive, or better yet
  1572. get a zip drive and use four zip carts for your four Systems.  If you
  1573. regularly change between System 6, 7, and 7.5, you'll be rebuilding your
  1574. desktop with every boot.  Yuck.
  1575.  
  1576. chazl
  1577. 10.03.96
  1578. - ------
  1579.  
  1580. ---------------------------
  1581.  
  1582. From billv@Eng.Sun.COM (Bill Vaughan)
  1583. Subject: How to do Unix-like scripting on a Mac?
  1584. Date: 24 Sep 1996 21:49:44 GMT
  1585. Organization: Sun Microsystems Inc.
  1586.  
  1587. I need to be able to do Unix-like scripting on the Mac to set environment variables and run tools/apps without going through the GUI. (No, I'm not one of those Unix/DOS Neanderthals who walks around grunting, "Me, I REAL man, I use command line interface, GUI for sissies.") I need to set up a multi-platform test harness. I have considered AppleScript, but the problem is that I will be working with some tools and apps which are not AppleScript Aware. Any suggestions would be greatly appreciated.
  1588.  
  1589. Thanks,
  1590.  
  1591. Bill
  1592.  
  1593.  
  1594.  
  1595. +++++++++++++++++++++++++++
  1596.  
  1597. From Bob.Dalgleish@sk.sympatico.ca (Robert Dalgleish)
  1598. Date: Wed, 25 Sep 1996 09:11:42 -0600
  1599. Organization: Industrial Strength Software
  1600.  
  1601. In article <529l1o$8vj@engnews2.Eng.Sun.COM>, billv@Eng.Sun.COM wrote:
  1602.  
  1603. >>I need to be able to do Unix-like scripting on the Mac to set environment 
  1604. >variables and run tools/apps without going through the GUI. (No, I'm not 
  1605. >one of those Unix/DOS Neanderthals who walks around grunting, "Me, I REAL 
  1606. >man, I use command line interface, GUI for sissies.") I need to set up a 
  1607. >multi-platform test harness. I have considered AppleScript, but the 
  1608. >problem is that I will be working with some tools and apps which are not 
  1609. >AppleScript Aware. Any suggestions would be greatly 
  1610. >appreciated.
  1611.  
  1612. The best multiplatform test harness would be Perl.  The MacPerl implementation
  1613. is currently at Perl 5.001, with an advanced beta test version at 5.002. It is
  1614. very competent and fast.   The MacPerl FAQ can be found at
  1615. http://www.perl.com/CPAN/doc/FAQs/mac/MacPerlFAQ.html
  1616.  
  1617. To help with the cross-platform stuff, you will have to have a plug-in
  1618. architecture for things such as process-spawning and piping.  If you look
  1619. at the test harness that Matthias created for testing MacPerl, you may
  1620. see what I mean.
  1621.  
  1622. -- 
  1623. Bob Dalgleish   bob.dalgleish@sasknet.sk.ca
  1624. Web Page        http://www.sasknet.com/~dalgl/
  1625.  
  1626. +++++++++++++++++++++++++++
  1627.  
  1628. From rjohnson@Sun.COM (Ray Johnson)
  1629. Date: 25 Sep 1996 16:44:24 GMT
  1630. Organization: Sun Microsystems Inc., Mountain View, CA
  1631.  
  1632. Robert Dalgleish (Bob.Dalgleish@sk.sympatico.ca) wrote:
  1633. : In article <529l1o$8vj@engnews2.Eng.Sun.COM>, billv@Eng.Sun.COM wrote:
  1634.  
  1635. : >>I need to be able to do Unix-like scripting on the Mac to set environment 
  1636. : >variables and run tools/apps without going through the GUI. (No, I'm not 
  1637. : >one of those Unix/DOS Neanderthals who walks around grunting, "Me, I REAL 
  1638. : >man, I use command line interface, GUI for sissies.") I need to set up a 
  1639. : >multi-platform test harness. I have considered AppleScript, but the 
  1640. : >problem is that I will be working with some tools and apps which are not 
  1641. : >AppleScript Aware. Any suggestions would be greatly 
  1642. : >appreciated.
  1643.  
  1644. : The best multiplatform test harness would be Perl.  The MacPerl implementation
  1645. : is currently at Perl 5.001, with an advanced beta test version at 5.002. It is
  1646. : very competent and fast.   The MacPerl FAQ can be found at
  1647. : http://www.perl.com/CPAN/doc/FAQs/mac/MacPerlFAQ.html
  1648.  
  1649. You should also consider the Tcl scripting language whoch has been available
  1650. on the Mac for some time & is also very stable.  You can check out the
  1651. home page for the project at http://www.sunlabs.com/research/tcl/
  1652.  
  1653. There is a package called swig that will parse your C header files and
  1654. generate Tcl commands for all of your C API's.  It is a perfect tool
  1655. for testing.  Much better than Perl.  In fact, Apple has used Tcl for
  1656. testing parts of the Copland kernal - or so I hear through the grape vine...
  1657.  
  1658. Ray
  1659.  
  1660.  
  1661.  
  1662. +++++++++++++++++++++++++++
  1663.  
  1664. From Bob.Dalgleish@sk.sympatico.ca (Robert Dalgleish)
  1665. Date: Thu, 26 Sep 1996 08:21:49 -0600
  1666. Organization: Industrial Strength Software
  1667.  
  1668. In article <52bnh8$nth@engnews2.Eng.Sun.COM>, rjohnson@Sun.COM (Ray
  1669. Johnson) wrote:
  1670. >You should also consider the Tcl scripting language whoch has been available
  1671. >on the Mac for some time & is also very stable.  You can check out the
  1672. >home page for the project at http://www.sunlabs.com/research/tcl/
  1673. >
  1674. >There is a package called swig that will parse your C header files and
  1675. >generate Tcl commands for all of your C API's.  It is a perfect tool
  1676. >for testing.  Much better than Perl.
  1677.  
  1678. I cannot let that go unchallenged.  Perl has several facilities to
  1679. translate C header files to Perl files.  Perl's capabilities at pattern
  1680. matching make it a better platform for testing, especially against
  1681. systems that support only minimal pattern matching.  TCL is not "Much better"
  1682. than Perl.
  1683.  
  1684. -- 
  1685. Bob Dalgleish   bob.dalgleish@sasknet.sk.ca
  1686. Web Page        http://www.sasknet.com/~dalgl/
  1687.  
  1688. +++++++++++++++++++++++++++
  1689.  
  1690. From neeri@iis.ee.ethz.ch (Matthias Neeracher)
  1691. Date: 26 Sep 1996 18:39:33 GMT
  1692. Organization: Integrated Systems Laboratory, ETH, Zurich
  1693.  
  1694. In article <Bob.Dalgleish-2609960821500001@io.innovplace.saskatoon.sk.ca>, Bob.Dalgleish@sk.sympatico.ca (Robert Dalgleish) writes:
  1695. > In article <52bnh8$nth@engnews2.Eng.Sun.COM>, rjohnson@Sun.COM (Ray
  1696. > Johnson) wrote:
  1697. >> You should also consider the Tcl scripting language whoch has been available
  1698. >> on the Mac for some time & is also very stable.  You can check out the
  1699. >> home page for the project at http://www.sunlabs.com/research/tcl/
  1700. >> 
  1701. >> There is a package called swig that will parse your C header files and
  1702. >> generate Tcl commands for all of your C API's.  It is a perfect tool
  1703. >> for testing.  Much better than Perl.
  1704.  
  1705. > I cannot let that go unchallenged.  Perl has several facilities to
  1706. > translate C header files to Perl files.
  1707.  
  1708. Right. In particular, SWIG also generates Perl5, so any header which can be
  1709. translated by SWIG to Tcl should automatically also work in Perl5.
  1710.  
  1711. > Perl's capabilities at pattern matching make it a better platform for
  1712. > testing, especially against systems that support only minimal pattern
  1713. > matching.
  1714.  
  1715. Agreed, but Tcl has a simpler syntax and is much easier to embed in another
  1716. application.
  1717.  
  1718. > TCL is not "Much better" than Perl.
  1719.  
  1720. I think Ray meant his comment only in the context of testing, for which I
  1721. would tend to agree with him (Tcl is also probably better for Tk on Un*x
  1722. platforms, and definitely so on the Mac).
  1723.  
  1724. Matthias
  1725.  
  1726. - ---
  1727. Matthias Neeracher   <neeri@iis.ee.ethz.ch>   http://www.iis.ee.ethz.ch/~neeri
  1728.    "Computer languages follow the extended Sapir-Whorf hypothesis, which 
  1729.     states that because the Eskimos had 900 words for snow, they decided 
  1730.     to move north." -- Dave Griffith <dave@delphi.bsd.uchicago.edu>
  1731.  
  1732.  
  1733. +++++++++++++++++++++++++++
  1734.  
  1735. From rcsmith@servtech.com (Roger Smith)
  1736. Date: Tue, 24 Sep 1996 21:51:07 -0500
  1737. Organization: Base Online
  1738.  
  1739. In article <529l1o$8vj@engnews2.Eng.Sun.COM>, billv@Eng.Sun.COM wrote:
  1740.  
  1741. > I need to be able to do Unix-like scripting on the Mac to set
  1742. environment variables and run tools/apps without going through the GUI.
  1743. (No, I'm not one of those Unix/DOS Neanderthals who walks around grunting,
  1744. "Me, I REAL man, I use command line interface, GUI for sissies.") I need
  1745. to set up a multi-platform test harness. I have considered AppleScript,
  1746. but the problem is that I will be working with some tools and apps which
  1747. are not AppleScript Aware. Any suggestions would be greatly appreciated.
  1748.  
  1749. Depending on what you want to accomplish, you can use the MPW shell or you
  1750. can use the Apple VU tool (or you can use them in tandem) see either this
  1751. or last months's MacTech mag for a review on VU -- virtual user). 
  1752.  
  1753. Roger Smith
  1754.  
  1755. +++++++++++++++++++++++++++
  1756.  
  1757. From gandreas@mirage.skypoint.com (Glenn Andreas)
  1758. Date: 27 Sep 1996 14:45:37 GMT
  1759. Organization: GAndreas Software
  1760.  
  1761. In article <Bob.Dalgleish-2609960821500001@io.innovplace.saskatoon.sk.ca>,
  1762. Bob.Dalgleish@sk.sympatico.ca (Robert Dalgleish) wrote:
  1763.  
  1764. > In article <52bnh8$nth@engnews2.Eng.Sun.COM>, rjohnson@Sun.COM (Ray
  1765. > Johnson) wrote:
  1766. ...
  1767. > >There is a package called swig that will parse your C header files and
  1768. > >generate Tcl commands for all of your C API's.  It is a perfect tool
  1769. > >for testing.  Much better than Perl.
  1770. (while we're at it...)
  1771.  
  1772. Python is also supported by swig, as is, for that matter, Perl 5 (and to
  1773. some extent, Perl 4).  "Much better" depends on what you need it for:
  1774.  
  1775. Perl:  Very good regular expressions, but "interesting" syntax
  1776. Python: Very good object model, easy to extend, easy to embed, but
  1777. structure determined by indentation bothers some people
  1778. TCL: Imagine infix scheme written as a macro processor, with all the power
  1779. and pitfalls that intails.
  1780.  
  1781. Personally, I use Python (since it has pretty good mac os support,
  1782. including apple events and a fair chunk of the toolbox).
  1783.  
  1784. -- 
  1785. Glenn Andreas                                 Author of Macintosh games:
  1786. gandreas@skypoint.com                               Theldrow 2.3
  1787. http://www.skypoint.com/members/gandreas            Blobbo 1.0.2
  1788. ftp://ftp.skypoint.com/pub/members/g/gandreas
  1789. Unsolicited bulk email will be proofread for a US$500/k, min $1000
  1790.  
  1791. +++++++++++++++++++++++++++
  1792.  
  1793. From rjohnson@Sun.COM (Ray Johnson)
  1794. Date: 2 Oct 1996 15:55:25 GMT
  1795. Organization: Sun Microsystems Inc., Mountain View, CA
  1796.  
  1797. Glenn Andreas (gandreas@mirage.skypoint.com) wrote:
  1798. : Python is also supported by swig, as is, for that matter, Perl 5 (and to
  1799. : some extent, Perl 4).  "Much better" depends on what you need it for:
  1800.  
  1801. : Perl:  Very good regular expressions, but "interesting" syntax
  1802. : Python: Very good object model, easy to extend, easy to embed, but
  1803. : structure determined by indentation bothers some people
  1804. : TCL: Imagine infix scheme written as a macro processor, with all the power
  1805. : and pitfalls that intails.
  1806.  
  1807. I guess I should have mentioned that swig was also available for python
  1808. and perl.  It's a great package and should cerainly be checked out no
  1809. matter which of the above three languages you use.
  1810.  
  1811. Last time I checked Python was not that easy to embed.  Perhaps it has
  1812. been improved?  Tcl is trivial to embed.  It took me only two weeks
  1813. to write the Tcl/Tk plugin for Netscape.  (Mind you it's still rather
  1814. buggy, but that's due to problems with the Netscape API...)
  1815.  
  1816. Tcl's other advantage is that it is very easy to extend.  The API for
  1817. creating new commands is simple.  In fact, you can create new control
  1818. structures as an extension.
  1819.  
  1820. Of course, Tcl's greatest advantage is Tk.  Tk is a cross platform
  1821. windowing toolkit available for UNIX, Windows & Mac.  Unfortunantly,
  1822. the Mac version currently use the Motif look & feel (I'm working
  1823. full time to make it native look & feel.)  In fact, both Python
  1824. and Perl use Tk as a toolkit for it's environments!
  1825.  
  1826. I would like to point out one thing, however.  Perl and Python are
  1827. both very cool languages.  I look at languages as tools.  The more
  1828. the better - use the best tool for the job.  The intent of my original
  1829. message was not to start a flame war - but rather to encourage
  1830. developers to look at all the available tools before deciding what
  1831. to use.
  1832.  
  1833. Ray
  1834.  
  1835.  
  1836.  
  1837. +++++++++++++++++++++++++++
  1838.  
  1839. From Mary Smith <msmith@voicenet.com>
  1840. Date: Thu, 03 Oct 1996 15:58:16 -0400
  1841. Organization: Voicenet - Internet Access - (215)674-9290
  1842.  
  1843. Hi.
  1844.  
  1845. I'm responding from a friend's account to someone's post regarding
  1846. how to do Unix scripting on the Mac.
  1847.  
  1848. One answer is to use a C Shell. Some time ago I wrote one called
  1849. UltraShell, from scatch in fact, for commercial sale. I was selling it
  1850. for $40 at the time, but the version that I still have on hand is 
  1851. somewhat buggy and I am willing to sell it at $20 plus shipping,
  1852. until I can put out another version. Note, this shell does not
  1853. support AppleScript, and it prefers System 7.1 more than 7.5.
  1854. However it incorporate about 25 common Unix commands e.g. tar, du,
  1855. ps, find, etc; and the executable is only about 100 kB.
  1856.  
  1857. If anyone is interested in UltraShell, just send an email to
  1858. this account. I'll send you a broshure.
  1859.  
  1860. Cheers,
  1861.  
  1862. Zack T. Smith
  1863.  
  1864. +++++++++++++++++++++++++++
  1865.  
  1866. From steve@hi.com (Steve Byan)
  1867. Date: Fri, 04 Oct 1996 12:32:11 -0400
  1868. Organization: Hitachi Computer Products, Inc.
  1869.  
  1870. Use the MPW (Macintosh Programmer's Workbench) shell. The literals are
  1871. different (alas) but the syntax is quite similar.  It's the best
  1872. command-line interface for the Mac, and I wish I had it on my HP
  1873. workstation too.
  1874.  
  1875. Regards,
  1876. -Steve
  1877.  
  1878. -- 
  1879. Steve Byan                                  internet: steve@hi.com
  1880. Hitachi Computer Products (America), Inc.   
  1881. 1601 Trapelo Road                           phone: (617) 890-0444
  1882. Waltham, MA 02154                           FAX: (617) 890-4998
  1883.  
  1884. +++++++++++++++++++++++++++
  1885.  
  1886. From steve@hi.com (Steve Byan)
  1887. Date: Fri, 04 Oct 1996 12:32:11 -0400
  1888. Organization: Hitachi Computer Products, Inc.
  1889.  
  1890. Use the MPW (Macintosh Programmer's Workbench) shell. The literals are
  1891. different (alas) but the syntax is quite similar.  It's the best
  1892. command-line interface for the Mac, and I wish I had it on my HP
  1893. workstation too.
  1894.  
  1895. Regards,
  1896. -Steve
  1897.  
  1898. -- 
  1899. Steve Byan                                  internet: steve@hi.com
  1900. Hitachi Computer Products (America), Inc.   
  1901. 1601 Trapelo Road                           phone: (617) 890-0444
  1902. Waltham, MA 02154                           FAX: (617) 890-4998
  1903.  
  1904. ---------------------------
  1905.  
  1906. From Zoila Deleg-Bricker <delegz@rpi.edu>
  1907. Subject: Inside Macintosh's Venn Diagrammer: has anyone done it?
  1908. Date: 2 Oct 1996 14:38:38 GMT
  1909. Organization: Rensselaer Polytechnic Institute/School of Management & Technology
  1910.  
  1911. Hi:
  1912.  
  1913. I would like to be instructed by the Venn Diagrammer application that is
  1914. described in the IM Overview volume:
  1915.  
  1916.             "The remainder of this book illustrates how to write a Macintosh 
  1917.             application by gradually dissecting the source code of a very 
  1918.             simple sample application, called Venn Diagrammer. This 
  1919.             application allows the user to use Venn diagrams as a method of 
  1920.             determining whether a given syllogism is valid (that is, whether 
  1921.             the conclusion must be true if both premises are true). This 
  1922.             section briefly describes the operation of the Venn Diagrammer 
  1923.             application."
  1924.             
  1925. It's far beyond the present state of my programming skills to create this
  1926. application, yet I would like to see how it works sooner rather than the much
  1927. later that it would take for me to develop the necessary knowledge. Does
  1928. anyone have the Venn Diagrammer that they created, by working through IM
  1929. Overview, somewhere sitting in a Syquest cartridge that they wouldn't mind
  1930. binhexing and emailing me? Do you know someone else who created it?
  1931.  
  1932. Thanks very much
  1933.  
  1934. Dale Bricker
  1935. delegz@rpi.edu
  1936.  
  1937. +++++++++++++++++++++++++++
  1938.  
  1939. From msbishop@ix.netcom.com (Matt Bishop)
  1940. Date: Wed, 02 Oct 1996 15:19:18 -0500
  1941. Organization: Zippo
  1942.  
  1943. In article <52tupe$eoc@usenet.rpi.edu>, Zoila Deleg-Bricker
  1944. <delegz@rpi.edu> wrote:
  1945.  
  1946. > Hi:
  1947. > I would like to be instructed by the Venn Diagrammer application that is
  1948. > described in the IM Overview volume:
  1949.  
  1950. I made the mistake of buying IM Overview, too.  If you still have the
  1951. receipt, take it back and buy "Programming Starter Kit for Macintosh" by
  1952. Jim Trudeau.  Not only does it clearly explain how the Macintosh OS works,
  1953. it teaches you how to program it, something Overview does not do.  It also
  1954. teaches in C as opposed to Pascal.
  1955.  
  1956. +++++++++++++++++++++++++++
  1957.  
  1958. From Zoila Deleg-Bricker <delegz@rpi.edu>
  1959. Date: 3 Oct 1996 03:55:51 GMT
  1960. Organization: Rensselaer Polytechnic Institute/School of Management & Technology
  1961.  
  1962. In article <msbishop-0210961519180001@news.zippo.com> Matt Bishop,
  1963. msbishop@ix.netcom.com writes:
  1964. >ubject: Re: Inside Macintosh's Venn Diagrammer: has anyone done it?
  1965. >From: Matt Bishop, msbishop@ix.netcom.com
  1966. >Date: Wed, 02 Oct 1996 15:19:18 -0500
  1967. >>In article <52tupe$eoc@usenet.rpi.edu>, Zoila Deleg-Bricker
  1968. ><delegz@rpi.edu> wrote:
  1969. >
  1970. >> Hi:
  1971. >> 
  1972. >> I would like to be instructed by the Venn Diagrammer application that is
  1973. >> described in the IM Overview volume:
  1974. >
  1975. >I made the mistake of buying IM Overview, too.  If you still have the
  1976. >receipt, take it back and buy "Programming Starter Kit for Macintosh" by
  1977. >Jim Trudeau.  Not only does it clearly explain how the Macintosh OS works,
  1978. >it teaches you how to program it, something Overview does not do.  It also
  1979. >teaches in C as opposed to Pascal.
  1980.  
  1981. Whoops! When I said "I would like to be instructed by the Venn Diagrammer
  1982. application....", I mean instructed in syllogistic reasoning, not programming.
  1983. I already own Programming Starter Kit for Macintosh and would never think of
  1984. solely relying on IM Overview to learn how to program for the Mac.
  1985.  
  1986. So, again......does anyone have a copy of Venn Diagrammer? Pascal programmers?
  1987.  
  1988.  
  1989. Zoila
  1990.  
  1991. ---------------------------
  1992.  
  1993. From bishopsys@aol.com (Matt Bishop)
  1994. Subject: Looking for ictb, aete editor, NOT resourcerer
  1995. Date: Sat, 21 Sep 1996 13:57:30 -0500
  1996. Organization: Bishop Shareware
  1997.  
  1998. I am searching for a resource editor that can edit ictb and aete
  1999. resources, but so far the only thing I have come up with is Resourcerer. 
  2000. It is a great program, but it costs so damn much!  Some of us have to pay
  2001. for these utilities ourselves.
  2002.  
  2003. If you have anything, please let me know.
  2004.  
  2005. -Matt
  2006.  
  2007. +++++++++++++++++++++++++++
  2008.  
  2009. From Steve@emer.com (Steve Wilson)
  2010. Date: 21 Sep 1996 20:24:15 GMT
  2011. Organization: Emergent Behavior
  2012.  
  2013. In article <bishopsys-2109961357300001@news.zippo.com>, bishopsys@aol.com
  2014. (Matt Bishop) wrote:
  2015.  
  2016. > I am searching for a resource editor that can edit ictb and aete
  2017. > resources, but so far the only thing I have come up with is Resourcerer. 
  2018. > It is a great program, but it costs so damn much!  Some of us have to pay
  2019. > for these utilities ourselves.
  2020.  
  2021. I know.  I had to pay for it myself too, but it is worth every penny. 
  2022. Actually, knowing what I know now, I'd pay double the price for it. 
  2023. Resourcerer is soooooo much better than ResEdit.  The tools for editing
  2024. PICT resources are awsome.  Couldn't live without them.
  2025.  
  2026. Steve Wilson
  2027. Emergent Behavior
  2028. (415) 494-6763
  2029. Steve@emer.com
  2030. http://www.emer.com
  2031.  
  2032. +++++++++++++++++++++++++++
  2033.  
  2034. From Steve@emer.com (Steve Wilson)
  2035. Date: 21 Sep 1996 20:24:15 GMT
  2036. Organization: Emergent Behavior
  2037.  
  2038. Reposting article removed by rogue canceller.
  2039.  
  2040. In article <bishopsys-2109961357300001@news.zippo.com>, bishopsys@aol.com
  2041. (Matt Bishop) wrote:
  2042.  
  2043. > I am searching for a resource editor that can edit ictb and aete
  2044. > resources, but so far the only thing I have come up with is Resourcerer. 
  2045. > It is a great program, but it costs so damn much!  Some of us have to pay
  2046. > for these utilities ourselves.
  2047.  
  2048. I know.  I had to pay for it myself too, but it is worth every penny. 
  2049. Actually, knowing what I know now, I'd pay double the price for it. 
  2050. Resourcerer is soooooo much better than ResEdit.  The tools for editing
  2051. PICT resources are awsome.  Couldn't live without them.
  2052.  
  2053. Steve Wilson
  2054. Emergent Behavior
  2055. (415) 494-6763
  2056. Steve@emer.com
  2057. http://www.emer.com
  2058.  
  2059. +++++++++++++++++++++++++++
  2060.  
  2061. From tils0007@gold.tc.umn.edu (Mike Tilstra)
  2062. Date: Thu, 26 Sep 1996 10:11:37 -0500
  2063. Organization: TaDPoL
  2064.  
  2065. In article <R.bishopsys-2109961357300001@news.zippo.com>, bishopsys@aol.com
  2066. (Matt Bishop) wrote:
  2067.  
  2068. >Reposting article removed by rogue canceller.
  2069. >
  2070. >I am searching for a resource editor that can edit ictb and aete
  2071. >resources, but so far the only thing I have come up with is Resourcerer. 
  2072. >It is a great program, but it costs so damn much!  Some of us have to pay
  2073. >for these utilities ourselves.
  2074. >
  2075. >If you have anything, please let me know.
  2076. >
  2077. >-Matt
  2078.  
  2079. There are templates for ResEdit for atleast the aete resource.  I'm not
  2080. sure about ictb though.
  2081.  
  2082. -- 
  2083. Mike Tilstra------TaDPoL-------Limiter Task
  2084.      mailto:tils0007@gold.tc.umn.edu
  2085. http://www.tc.umn.edu/nlhome/g019/tils0007/
  2086.     For the first time in your memory,
  2087.     you're generating your own light.
  2088.  
  2089. +++++++++++++++++++++++++++
  2090.  
  2091. From donarb@wolfenet.com (Don Arbow)
  2092. Date: Sat, 28 Sep 1996 11:37:17 -0700
  2093. Organization: Wolfe Internet Access, L.L.C.
  2094.  
  2095. In article <R.bishopsys-2109961357300001@news.zippo.com>,
  2096. bishopsys@aol.com (Matt Bishop) wrote:
  2097.  
  2098. :  Reposting article removed by rogue canceller.
  2099. :  
  2100. :  I am searching for a resource editor that can edit ictb and aete
  2101. :  resources, but so far the only thing I have come up with is Resourcerer. 
  2102. :  It is a great program, but it costs so damn much!  Some of us have to pay
  2103. :  for these utilities ourselves.
  2104. :  
  2105. :  If you have anything, please let me know.
  2106. :  
  2107. :  -Matt
  2108.  
  2109. Resorcerer has a educational discount.
  2110.  
  2111. There's also an 'aete' editor out there called EightyRez.  It's only about
  2112. $40.  See their web page at http://www.mv.com/biz/condes/EightyRez.html.
  2113.  
  2114. Don
  2115.  
  2116. -- 
  2117. - ------------------------------------------------------------------------
  2118.     \ | /    Don Arbow, Partner, CTO |  donarb@wolfenet.com
  2119.   -- EDO --  EveryDay Objects, Inc.  |  http://www.pla-net.net/edo
  2120.     / | \    Seattle, WA             |
  2121. - ------------------------------------------------------------------------
  2122.   My Prographing web page:   http://www.wolfe.net/~donarb/Dataflow.html
  2123.         "The fix is only temporary, unless it works" - Red Green
  2124. - ------------------------------------------------------------------------
  2125.  
  2126. +++++++++++++++++++++++++++
  2127.  
  2128. From hermasj@msfcmail.msfc.nasa.gov (Steve Herman)
  2129. Date: 3 Oct 1996 16:14:43 GMT
  2130. Organization: CSC
  2131.  
  2132. In article <donarb-2809961137170001@news1.wolfenet.com>,
  2133. donarb@wolfenet.com (Don Arbow) wrote:
  2134.  
  2135. > In article <R.bishopsys-2109961357300001@news.zippo.com>,
  2136. > bishopsys@aol.com (Matt Bishop) wrote:
  2137. > :  Reposting article removed by rogue canceller.
  2138. > :  
  2139. > :  I am searching for a resource editor that can edit ictb and aete
  2140. > :  resources, but so far the only thing I have come up with is Resourcerer. 
  2141. > :  It is a great program, but it costs so damn much!  Some of us have to pay
  2142. > :  for these utilities ourselves.
  2143. > :  
  2144. > :  If you have anything, please let me know.
  2145. > :  
  2146. > :  -Matt
  2147. > Resorcerer has a educational discount.
  2148. > There's also an 'aete' editor out there called EightyRez.  It's only about
  2149. > $40.  See their web page at http://www.mv.com/biz/condes/EightyRez.html.
  2150. > Don
  2151.  
  2152. There's also a HyperCard stack for creating and modifying 'aete's which (I
  2153. believe) was created by Apple.  It comes with products such as the
  2154. AppleScript development kit and ETO, but I'm not sure if it's freely
  2155. available or not.
  2156.  
  2157. It's called "Aete Editor Stack" or something like that.
  2158.  
  2159. Steve
  2160.  
  2161. - --------------------------------------------------
  2162. - Steve Herman - PrISMS
  2163. - Computer Sciences Corporation
  2164. - Marshall Space Flight Center
  2165. - Huntsville, AL
  2166. - --------------------------------------------------
  2167.  
  2168. ---------------------------
  2169.  
  2170. From grademachine@mistycity.com (Michael Grueter)
  2171. Subject: Memory Loss with CustomGetFile
  2172. Date: Wed, 02 Oct 1996 15:29:48 -0800
  2173. Organization: Misty City Software
  2174.  
  2175. Hi,
  2176.  
  2177. Every time I call the toolbox function "CustomGetFile", with a custom
  2178. dialog hook and file filter, I loose approximately 288 bytes of memory. If
  2179. I make the same call but pass nil for the dialog hook and file filter
  2180. parameters, I do not loose any bytes. I can't figure out why I'm loosing
  2181. the bytes! I've included my calling sequence and my dialog hook and file
  2182. filter functions (which is mostly just taken from Inside Mac) below. Note
  2183. that if the code for "A" file type is used, the bytes are lost. If the
  2184. code for "B" file type is used, the bytes are not lost. If anyone can help
  2185. me make sense of this, I would greatly appreciate it.
  2186.  
  2187. - Mike
  2188.  
  2189. Code to follow:
  2190. - ------------------------------------------
  2191.  
  2192. var
  2193.    custFilterUPP: FileFilterYDUPP;
  2194.    dlogHookUPP: DlgHookYDUPP;
  2195.  
  2196. ...
  2197.  
  2198. if fileType0 = kAFileType then
  2199.    begin {"A" File Type}
  2200. {causes bytes to be lost}
  2201.       dlogHookUPP := NewDlgHookYDProc(DlgHookYDProcPtr(@MyFilterDlgHook));
  2202.       custFilterUPP := NewFileFilterYDProc(FileFilterYDProcPtr(@MyFileFilter));
  2203.       dlogID := kCustomGetDialog;
  2204.    end {"A" File Type}
  2205. else
  2206.    begin {"B" File Type}
  2207. {does not cause bytes to be lost}
  2208.       dlogHookUPP := nil;
  2209.       custFilterUPP := nil;
  2210.       dlogID := 0;
  2211.    end; {"B" File Type}
  2212.  
  2213. CustomGetFile(custFilterUPP, numTypes, @theTypeList, theSFReply, dlogID,
  2214. dlogTopLeft, dlogHookUPP, nil, nil, nil, nil);
  2215. if theSFReply.sfGood then
  2216.    ; {user didn't cancel}
  2217.       
  2218. DisposeRoutineDescriptor(dlogHookUPP);
  2219. DisposeRoutineDescriptor(custFilterUPP);
  2220.  
  2221.  
  2222. {--------------------------------------------------------------}
  2223.    function MyFileFilter (pb: CInfoPBPtr; myDataPtr: Ptr): Boolean;
  2224.    begin {MyFileFilter}
  2225.       MyFileFilter := true;   {default: don't show the file (note reverse
  2226. sense)}
  2227.       
  2228.       if gCurrentType = kAllFilesChoice then
  2229.          MyFileFilter := false
  2230.       
  2231.       else if gCurrentType = kDosWinFileChoice then
  2232.          begin {kDosWinFileChoice}
  2233.             if (pb^.ioFlFndrInfo.fdType = kTextType) |
  2234. (pb^.ioFlFndrInfo.fdType = kDOSWinType) then
  2235.                MyFileFilter := false;
  2236.          end {kDosWinFileChoice}
  2237.       
  2238.       else if pb^.ioFlFndrInfo.fdType = kMacFileType then {default to
  2239. kMacFileChoice}
  2240.          MyFileFilter := false;
  2241.    end; {MyFileFilter}
  2242.  
  2243. {--------------------------------------------------------------}
  2244.    function MyFilterDlgHook (theItem: integer; theDialog: DialogPtr;
  2245. myDataPtr: Ptr): integer;
  2246.       var
  2247.          pickedType: integer; {menu item selected}
  2248.  
  2249.       const
  2250.          kFileTypePopup = 10; {item number of File Format pop-up menu}
  2251.  
  2252.    begin {MyFilterDlgHook}
  2253.       MyFilterDlgHook := theItem;   {by default, return the item passed in}
  2254.       if GetWRefCon(WindowPtr(theDialog)) <> longint(sfMainDialogRefCon) then
  2255.          Exit(MyFilterDlgHook);  {this function is only for main dialog}
  2256.  
  2257.    {Do processing of pseudo-items and your own additional item.}
  2258.       case theItem of 
  2259.          sfHookFirstCall: {pseudo-item: first time function called}
  2260.             begin {sfHookFirstCall}
  2261.                gCurrentType := kMacFileChoice;
  2262.                SetControlValue(ControlHandle(GetItemHandle(theDialog,
  2263. kFileTypePopup)), gCurrentType);
  2264.                MyFilterDlgHook := sfHookNullEvent;
  2265.             end; {sfHookFirstCall}
  2266.          
  2267.          kFileTypePopup:   {user selected File Type pop-up menu}
  2268.             begin {kFileTypePopup}
  2269.                pickedType :=
  2270. GetControlValue(ControlHandle(GetItemHandle(theDialog, kFileTypePopup)));
  2271.                if pickedType <> gCurrentType then
  2272.                   begin
  2273.                      gCurrentType := pickedType;
  2274.                      MyFilterDlgHook := sfHookRebuildList;
  2275.                   end;
  2276.             end; {kFileTypePopup}
  2277.          
  2278.          otherwise
  2279.             ;  {ignore all other items}
  2280.       end; {case theItem}
  2281.    end; {MyFilterDlgHook}
  2282.  
  2283. +++++++++++++++++++++++++++
  2284.  
  2285. From blob@ricochet.net
  2286. Date: Fri, 04 Oct 1996 19:03:57 -0700
  2287. Organization: (none)
  2288.  
  2289. In article <grademachine-0210961529490001@blv-pm14-ip5.halcyon.com>,
  2290. grademachine@mistycity.com (Michael Grueter) wrote:
  2291.  
  2292. > Hi,
  2293. > Every time I call the toolbox function "CustomGetFile", with a custom
  2294. > dialog hook and file filter, I loose approximately 288 bytes of memory.
  2295.  
  2296. This could be one of the known problems with system software.  You don't
  2297. mention which system software version you are running, but 7.5 and 7.5.1
  2298. (at least) had  standardfile leaks.  7.5.3 fixed all of them, as far as I
  2299. remember.  Look at the various system software technotes at
  2300. <http://devworld.apple.com/dev/technotes.shtml> for details.
  2301.  
  2302. -- 
  2303. (Pointers to other Mac programming web sites at
  2304. <http://devworld.apple.com/dev/geeks.html>)
  2305.  
  2306. +++++++++++++++++++++++++++
  2307.  
  2308. From blob@ricochet.net
  2309. Date: Fri, 04 Oct 1996 19:03:57 -0700
  2310. Organization: (none)
  2311.  
  2312. In article <grademachine-0210961529490001@blv-pm14-ip5.halcyon.com>,
  2313. grademachine@mistycity.com (Michael Grueter) wrote:
  2314.  
  2315. > Hi,
  2316. > Every time I call the toolbox function "CustomGetFile", with a custom
  2317. > dialog hook and file filter, I loose approximately 288 bytes of memory.
  2318.  
  2319. This could be one of the known problems with system software.  You don't
  2320. mention which system software version you are running, but 7.5 and 7.5.1
  2321. (at least) had  standardfile leaks.  7.5.3 fixed all of them, as far as I
  2322. remember.  Look at the various system software technotes at
  2323. <http://devworld.apple.com/dev/technotes.shtml> for details.
  2324.  
  2325. -- 
  2326. (Pointers to other Mac programming web sites at
  2327. <http://devworld.apple.com/dev/geeks.html>)
  2328.  
  2329. ---------------------------
  2330.  
  2331. From Josh Birnabaum <J_Birnbaum@fbp-ny.com>
  2332. Subject: Problems with SetDialogDefaultItem
  2333. Date: Wed, 02 Oct 1996 23:03:32 -0500
  2334. Organization: FGBNY
  2335.  
  2336. Hello,
  2337.  
  2338. I'm currently writing a cdev that has two main buttons in it to control
  2339. it's functionality. I'm trying to declare one of them as the default
  2340. button and draw the thick banding around it.
  2341. The furthest I get is the button being greyed out with the banding
  2342. around it greyed out as well. Ie, it's useless.  This is only after I
  2343. hit the other of the 2 buttons and then go back and hit the first target
  2344. button.
  2345. Below is the code called upon hitting the button I want as the default
  2346. banded button.
  2347.  
  2348. case BUTTON_ONE_ITEM:
  2349.      GetDItem( the_dialog, BUTTON_ONE_ITEM, &itemType, 
  2350.                                                 &itemHandle, &itemRect
  2351. );
  2352.      SetDialogDefaultItem( the_dialog, BUTTON_ONE_ITEM );
  2353.      /* code to handle this items functionality here */
  2354.      SysBeep(1);
  2355.      break;
  2356.  
  2357. If you could e-mail me back with any suggestions etc I would be most
  2358. greatful.
  2359.  
  2360. Thank You
  2361.  
  2362. Josh Birnbaum
  2363. J_Birnbaum@fbp-ny.com
  2364.  
  2365. +++++++++++++++++++++++++++
  2366.  
  2367. From blob@ricochet.net
  2368. Date: Fri, 04 Oct 1996 19:07:28 -0700
  2369. Organization: (none)
  2370.  
  2371. In article <32533B11.6D81@fbp-ny.com>, J_Birnbaum@fbp-ny.com wrote:
  2372.  
  2373. > Hello,
  2374. > I'm currently writing a cdev that has two main buttons in it to control
  2375. > it's functionality. I'm trying to declare one of them as the default
  2376. > button and draw the thick banding around it.
  2377.  
  2378. Look at the technote TB 37, "Pending Update Perils" at
  2379. <http://devworld.apple.com/dev/technotes/tb/tb_37.html>.  You must call the
  2380. standard filter proc in order for SetDialogDefaultItem to work.
  2381.  
  2382. -- 
  2383. (Pointers to other Mac programming web sites at
  2384. <http://devworld.apple.com/dev/geeks.html>)
  2385.  
  2386. ---------------------------
  2387.  
  2388. From ERNIE@MAG.DAME.DE (Jan-Hinnerk Reichert)
  2389. Subject: Re^2: MacOS 8 suggestion (Re: Disk space efficiency)
  2390. Date: 2 Oct 96 21:16:05 +0200
  2391. Organization: (none)
  2392.  
  2393. In der Nachricht vom 24.Sep 96. 11:28 schrieb Laurent Pointal 
  2394. (pointal@lure.u-psud.fr) unter dem Betreff "Re: MacOS 8 suggestion 
  2395. (Re: Disk space efficiency)":
  2396.  
  2397. > Daniel Nash wrote:
  2398. > [STUFF DELETED]
  2399. > > Well, a nice feature to have in MacOS 8 (I know it's probably a
  2400. > > bit late
  2401. > > for changes now) would be to have the ability to mount volumes as
  2402. > > a folder
  2403. > > on another volume, as in most UNIXes.  That way, you could set up
  2404. > > your
  2405. > > partition, and then place them all into one desktop 'drive' icon.
  2406. > > I hope
  2407. > > someone form Apple is listening.
  2408. > >
  2409. > >  - Daniel Nash
  2410. > ? Cant an alias of a partition (volume) do the same thing ?
  2411. > The difference: its just mounted when accessed and not a boot time/
  2412. > mount command.
  2413.  
  2414. Yes, you could do this. But you still would have all these volumes 
  2415. lying on the Desktop. I have got 5 HD-Icons on my Desktop (14'') from 
  2416. only one HD (2GB) :-((( 
  2417.  
  2418. Of course, you could place the Icons on the same place of the Desktop, 
  2419. so you can see/access only the topmost. But that doesn't look like a 
  2420. MAC-like solution ;-)
  2421.  
  2422. - --------------------------------------------------------------------
  2423.  "Few other griefs amid the ill chances    **************************
  2424.   of this world have more bitterness       *                        *
  2425.   and shame for a man's heart than         *  Jan-Hinnerk Reichert  *
  2426.   to behold the love of a lady so fair     *   ERNIE@MAG.DAME.DE    *
  2427.   and brave that cannot be returned."      *                        *
  2428.                   Aragorn son of Arathorn  **************************
  2429. - --------------------------------------------------------------------
  2430.  
  2431. - MacZPoint 1.92 -
  2432.  
  2433.  
  2434. +++++++++++++++++++++++++++
  2435.  
  2436. From David Thomas Mcwherter <dtm+@andrew.cmu.edu>
  2437. Date: Fri,  4 Oct 1996 09:36:10 -0400
  2438. Organization: Carnegie Mellon, Pittsburgh, PA
  2439.  
  2440. >>>
  2441. stuff regarding the mounting of volumes in MacOS8 clipped for brevity
  2442. <<<<
  2443.  
  2444. I'd like to see MacOS 8 be able to make your 5-6 HD icons all look like 
  2445. one...support the virtual addition of numerous drives.  It's similar
  2446. to what has been described as making a volume appear as a folder, but
  2447. slightly different.  In this manner, any folder on a virtual hard drive
  2448. could have its contents stored on perhaps 4 or more different drives.
  2449. This is available through RAID setups, but I'd like to see it built
  2450. into the OS and available for any type of HD.  This would make nightmares
  2451. if one of your hard drives went down, however (you'd lose data "randomly")
  2452.  
  2453. -David McWherter
  2454.  
  2455.  
  2456. ---------------------------
  2457.  
  2458. From Josh Birnabaum <J_Birnbaum@fbp-ny.com>
  2459. Subject: Setting dialog default buttons
  2460. Date: Thu, 03 Oct 1996 20:10:32 -0500
  2461. Organization: FGBNY
  2462.  
  2463. Hello, 
  2464.  
  2465. Does anyone have any code to declare a button item in a cdev as the
  2466. default button with the thick banding around it??
  2467. I am using the following code that I think is correct to an extent as
  2468. after I hit another button in the same cdev, the target button becomes
  2469. greyed out with the banding around it but only then:
  2470.  
  2471. case BUTTON_ONE_ITEM:
  2472.      SetDialogDefaultItem( the_dialog, BUTTON_ONE_ITEM );
  2473.      /* buttons functionality here */
  2474.      SysBeep(1);
  2475.      break;
  2476.  
  2477. Any help would be appreciated. I can be reached at the e-mail address
  2478. that follows.
  2479.  
  2480. Thank You
  2481.  
  2482. Josh Birnbaum
  2483. J_Birnbaum@fbp-ny.com
  2484.  
  2485. +++++++++++++++++++++++++++
  2486.  
  2487. From kev@ray.abo.fi(KevDog) (Kevin Whitty)
  2488. Date: Fri, 04 Oct 1996 15:14:16 +0300
  2489. Organization: ≈bo Akademi Fˆrbr‰nningskemi
  2490.  
  2491. In article <32546404.65A@fbp-ny.com>, J_Birnbaum@fbp-ny.com wrote:
  2492.  
  2493. > Hello, 
  2494. > Does anyone have any code to declare a button item in a cdev as the
  2495. > default button with the thick banding around it??
  2496. > I am using the following code that I think is correct to an extent as
  2497. > after I hit another button in the same cdev, the target button becomes
  2498. > greyed out with the banding around it but only then:
  2499. > case BUTTON_ONE_ITEM:
  2500. >      SetDialogDefaultItem( the_dialog, BUTTON_ONE_ITEM );
  2501. >      /* buttons functionality here */
  2502. >      SysBeep(1);
  2503. >      break;
  2504.  
  2505. OK.  I just had a similar question regarding SDDI(), but I've since
  2506. figured out the answer myself.  If it's a modal dialog, make sure you're
  2507. calling the standard filter procedure (what is it now?...
  2508. GetStdDialogProc, or StdDialogProc, or something like that) since SDDI()
  2509. requires it.  If it's a modeless dialog, make sure you call the filter
  2510. proc on null events, too.  Or maybe it doesn't matter for only a default
  2511. button, but you have to make sure and call it if you are using
  2512. SetDialogTracksCursor().  Not to get off subject, but if you call SDTC()
  2513. in a modeless, then you also have to call DialogSelect() if you want the
  2514. carrat to blink.
  2515.  
  2516. Hope I didn't confuse you.  :)
  2517.  
  2518. KevDog
  2519. kev@ray.abo.fi
  2520.  
  2521. +++++++++++++++++++++++++++
  2522.  
  2523. From kev@ray.abo.fi(KevDog) (Kevin Whitty)
  2524. Date: Fri, 04 Oct 1996 15:14:16 +0300
  2525. Organization: ≈bo Akademi Fˆrbr‰nningskemi
  2526.  
  2527. In article <32546404.65A@fbp-ny.com>, J_Birnbaum@fbp-ny.com wrote:
  2528.  
  2529. > Hello, 
  2530. > Does anyone have any code to declare a button item in a cdev as the
  2531. > default button with the thick banding around it??
  2532. > I am using the following code that I think is correct to an extent as
  2533. > after I hit another button in the same cdev, the target button becomes
  2534. > greyed out with the banding around it but only then:
  2535. > case BUTTON_ONE_ITEM:
  2536. >      SetDialogDefaultItem( the_dialog, BUTTON_ONE_ITEM );
  2537. >      /* buttons functionality here */
  2538. >      SysBeep(1);
  2539. >      break;
  2540.  
  2541. OK.  I just had a similar question regarding SDDI(), but I've since
  2542. figured out the answer myself.  If it's a modal dialog, make sure you're
  2543. calling the standard filter procedure (what is it now?...
  2544. GetStdDialogProc, or StdDialogProc, or something like that) since SDDI()
  2545. requires it.  If it's a modeless dialog, make sure you call the filter
  2546. proc on null events, too.  Or maybe it doesn't matter for only a default
  2547. button, but you have to make sure and call it if you are using
  2548. SetDialogTracksCursor().  Not to get off subject, but if you call SDTC()
  2549. in a modeless, then you also have to call DialogSelect() if you want the
  2550. carrat to blink.
  2551.  
  2552. Hope I didn't confuse you.  :)
  2553.  
  2554. KevDog
  2555. kev@ray.abo.fi
  2556.  
  2557. ---------------------------
  2558.  
  2559. From jeremyr@dcs.qmw.ac.uk (Jeremy Roussak)
  2560. Subject: Stack size in BOA
  2561. Date: 1 Oct 1996 06:21:24 GMT
  2562. Organization: Queen Mary & Westfield College, London, England
  2563.  
  2564. Is there really no way of increasing the stack size of a
  2565. background-only application from the default 2k to less than 24k?
  2566. TechNote PS2 implies not, but this seems rather curious.
  2567.  
  2568. Jeremy
  2569.  
  2570. +++++++++++++++++++++++++++
  2571.  
  2572. From brians@pbcomputing.com (Brian Stern)
  2573. Date: 2 Oct 1996 00:20:05 GMT
  2574. Organization: The University of Texas at Austin, Austin, Texas
  2575.  
  2576. In article <52qd94$iba@epsilon.qmw.ac.uk>, jeremyr@dcs.qmw.ac.uk (Jeremy
  2577. Roussak) wrote:
  2578.  
  2579. <Is there really no way of increasing the stack size of a
  2580. <background-only application from the default 2k to less than 24k?
  2581. <TechNote PS2 implies not, but this seems rather curious.
  2582. <
  2583. <Jeremy
  2584.  
  2585. Never say never.  The limit is LMGetMinStack() and this can be set to
  2586. whatever you like.
  2587.  
  2588.  
  2589. void
  2590. TfbaApp::InitToolBox( short moreMasters, long stackSize )
  2591. {
  2592.    if ( stackSize > 0 )
  2593.    {
  2594.       // It's not possible to set the stack to be smaller than
  2595.       // DfltStack.  So we adjust it first, set the 
  2596.       // stacksize and then restore it.
  2597.       long  saveDefaultStack = ::LMGetMinStack();
  2598.       ::LMSetMinStack( stackSize );
  2599.  
  2600.       // Increase the stack size by lowering the heap limit.
  2601.        ::SetApplLimit( (Ptr) ( (unsigned long) GetApplLimit() - stackSize ) );
  2602.       ::LMSetMinStack( saveDefaultStack );
  2603.    }
  2604.  
  2605.    ::MaxApplZone();
  2606.  
  2607.    for ( int i = 0; i < moreMasters; ++i )
  2608.       ::MoreMasters();
  2609.    
  2610.    // This is the only manager that should be called
  2611.    // from an fba
  2612.    ::InitGraf( &qd.thePort );
  2613.  
  2614. }
  2615.  
  2616. ____________________________________________________________________
  2617. Brian  Stern  {8-{)}                                 BeBox Hairy Guy                  Stern@metrowerks.com                          BrianS@pbcomputing.com
  2618. INIT Writing FAQ etc. at <ftp://ftp.pbcomputing.com//Guests/BrianS/>
  2619.  
  2620. +++++++++++++++++++++++++++
  2621.  
  2622. From jwwalker@kagi.com (James W. Walker)
  2623. Date: Tue, 01 Oct 1996 20:52:45 -0700
  2624. Organization: Nisus Software, Inc.
  2625.  
  2626. In article <52qd94$iba@epsilon.qmw.ac.uk>, jeremyr@dcs.qmw.ac.uk (Jeremy
  2627. Roussak) wrote:
  2628.  
  2629. >Is there really no way of increasing the stack size of a
  2630. >background-only application from the default 2k to less than 24k?
  2631. >TechNote PS2 implies not, but this seems rather curious.
  2632.  
  2633. I don't know what the Tech Note says, but it's possible.  However, you have
  2634. to temporarily change the low-memory global DefaultStack when you call
  2635. SetApplLimit.  It doesn't want to let you change the stack to something
  2636. less than the default.
  2637. -- 
  2638.   --  Jim Walker
  2639.  
  2640. +++++++++++++++++++++++++++
  2641.  
  2642. From jumplong@aol.com (Jump Long)
  2643. Date: 4 Oct 1996 01:02:40 -0400
  2644. Organization: America Online, Inc. (1-800-827-6364)
  2645.  
  2646. In article <52qd94$iba@epsilon.qmw.ac.uk>, jeremyr@dcs.qmw.ac.uk (Jeremy
  2647. Roussak) wrote:
  2648.  
  2649. >Is there really no way of increasing the stack size of a
  2650. >background-only application from the default 2k to less than 24k?
  2651. >TechNote PS2 implies not, but this seems rather curious.
  2652.  
  2653. Personally, I'd grow it to 24K and live with a little extra room because
  2654. there are lots of things that "borrow" (IMO) too much stack space at
  2655. interrupt time. If they borrow too much from your FBA, then it'll crash
  2656. and guess who will be blamed? Right... your FBA.
  2657.  
  2658. - Jim Luther (who learned that lesson by experience)
  2659.  
  2660. +++++++++++++++++++++++++++
  2661.  
  2662. From jumplong@aol.com (Jump Long)
  2663. Date: 4 Oct 1996 01:02:40 -0400
  2664. Organization: America Online, Inc. (1-800-827-6364)
  2665.  
  2666. In article <52qd94$iba@epsilon.qmw.ac.uk>, jeremyr@dcs.qmw.ac.uk (Jeremy
  2667. Roussak) wrote:
  2668.  
  2669. >Is there really no way of increasing the stack size of a
  2670. >background-only application from the default 2k to less than 24k?
  2671. >TechNote PS2 implies not, but this seems rather curious.
  2672.  
  2673. Personally, I'd grow it to 24K and live with a little extra room because
  2674. there are lots of things that "borrow" (IMO) too much stack space at
  2675. interrupt time. If they borrow too much from your FBA, then it'll crash
  2676. and guess who will be blamed? Right... your FBA.
  2677.  
  2678. - Jim Luther (who learned that lesson by experience)
  2679.  
  2680. ---------------------------
  2681.  
  2682. From shay@cs.uwa.edu.au (Shay Telfer)
  2683. Subject: StandardGetFile doesn't display only 'MooV's
  2684. Date: Thu, 26 Sep 1996 12:10:46 +0800
  2685. Organization: Department of Computer Science, The University of Western Australia
  2686.  
  2687. Hi...
  2688.  
  2689. I've got this very simple C program:
  2690.  
  2691. void main(void)
  2692. {
  2693.    SFTypeList typeList = {'MooV'};
  2694.    StandardFileReply theReply;
  2695.    
  2696.    Initialize();
  2697.       
  2698.    StandardGetFile(NULL,1,typeList,&theReply);
  2699.    
  2700. }
  2701.  
  2702. The Initialize() function is the same one in SillyBalls.c (the default C
  2703. code for a CodeWarrior project).
  2704.  
  2705. When the StandardGetFile dialog is displayed, it shows *any* file, not
  2706. just files of type 'MooV'. This apparently trivial problem is driving me
  2707. nuts. I'm using CW10, Sys 7.5.5 on a 7200/120.
  2708.  
  2709. Any suggestions/solutions? Am I missing anything blindingly obvious?
  2710.  
  2711. If you can get the code above to work and only show you 'MooV' movies,
  2712. then please tell me!
  2713.  
  2714. Thanks in advance,
  2715. Shay
  2716. PS- I don't normally work in C, they make me do it ;(
  2717.  
  2718. +++++++++++++++++++++++++++
  2719.  
  2720. From bitz@best.com (Mike Bitz)
  2721. Date: Thu, 26 Sep 1996 22:32:49 -0600
  2722. Organization: Best Internet Communications
  2723.  
  2724. In article <shay-2609961210460001@huntsman.cs.uwa.oz.au>,
  2725. shay@cs.uwa.edu.au (Shay Telfer) wrote:
  2726.  
  2727. >    SFTypeList typeList = {'MooV'};
  2728. >
  2729. > When the StandardGetFile dialog is displayed, it shows *any* file, not
  2730. > just files of type 'MooV'. 
  2731.  
  2732.  
  2733.  
  2734. StandardFile.h defines the list as:
  2735.      typedef OSType SFTypeList[4];
  2736.  
  2737. This line of code will solve your problem:
  2738.      SFTypeList     typeList = {MovieFileType, 0, 0, 0};
  2739.  
  2740.  
  2741. -Mike
  2742.  
  2743. +++++++++++++++++++++++++++
  2744.  
  2745. From shay@cs.uwa.edu.au (Shay Telfer)
  2746. Date: Mon, 30 Sep 1996 22:54:40 +0800
  2747. Organization: Department of Computer Science, The University of Western Australia
  2748.  
  2749. In article <bitz-2609962232490001@bitz.vip.best.com>, bitz@best.com (Mike
  2750. Bitz) wrote:
  2751.  
  2752. >In article <shay-2609961210460001@huntsman.cs.uwa.oz.au>,
  2753. >shay@cs.uwa.edu.au (Shay Telfer) wrote:
  2754. >
  2755. >>    SFTypeList typeList = {'MooV'};
  2756. >>
  2757. >> When the StandardGetFile dialog is displayed, it shows *any* file, not
  2758. >> just files of type 'MooV'. 
  2759. >
  2760. >
  2761. >
  2762. >StandardFile.h defines the list as:
  2763. >     typedef OSType SFTypeList[4];
  2764. >
  2765. >This line of code will solve your problem:
  2766. >     SFTypeList     typeList = {MovieFileType, 0, 0, 0};
  2767.  
  2768. ...But as it turns out, that wasn't what was causing the problem. It
  2769. actually was Macintosh Easy Open assuming that because my app wanted to
  2770. open MooV's, it could also open text documents and just about anything
  2771. else.
  2772.  
  2773. The solution is to turn MEO off, or to write a filterproc instead of just
  2774. passing in the type list.
  2775.  
  2776. Thanks for your help,
  2777. Shay
  2778.  
  2779. -- 
  2780. To get random signatures put text files into a folder called ≥Random Signatures≤ into your Preferences folder.
  2781.  
  2782. +++++++++++++++++++++++++++
  2783.  
  2784. From ERNIE@MAG.DAME.DE (Jan-Hinnerk Reichert)
  2785. Date: 3 Oct 96 03:57:40 +0200
  2786. Organization: (none)
  2787.  
  2788. In der Nachricht vom 26.Sep 96. 04:10 schrieb Shay Telfer 
  2789. (shay@cs.uwa.edu.au) unter dem Betreff "StandardGetFile doesn't 
  2790. display only 'MooV's":
  2791.  
  2792. > I've got this very simple C program:
  2793. > void main(void)
  2794. > {
  2795. >    SFTypeList typeList = {'MooV'};
  2796. >    StandardFileReply theReply;
  2797. >    Initialize();
  2798. >    StandardGetFile(NULL,1,typeList,&theReply);
  2799. > }
  2800. > The Initialize() function is the same one in SillyBalls.c (the
  2801. > default C code for a CodeWarrior project).
  2802. > When the StandardGetFile dialog is displayed, it shows *any* file,
  2803. > not just files of type 'MooV'. This apparently trivial problem is
  2804. > driving me nuts. I'm using CW10, Sys 7.5.5 on a 7200/120.
  2805.  
  2806. I can't see any mistakes. But perhaps it could help using
  2807.  
  2808.   typeList[0]='MooV' 
  2809.  
  2810. to initialize typeList. 
  2811.  
  2812. I know there's no reason why it should work better. But IMHO it's 
  2813. worth trying ;-)
  2814.  
  2815. - --------------------------------------------------------------------
  2816.  "Few other griefs amid the ill chances    **************************
  2817.   of this world have more bitterness       *                        *
  2818.   and shame for a man's heart than         *  Jan-Hinnerk Reichert  *
  2819.   to behold the love of a lady so fair     *   ERNIE@MAG.DAME.DE    *
  2820.   and brave that cannot be returned."      *                        *
  2821.                   Aragorn son of Arathorn  **************************
  2822. - --------------------------------------------------------------------
  2823.  
  2824. - MacZPoint 1.92 -
  2825.  
  2826.  
  2827. +++++++++++++++++++++++++++
  2828.  
  2829. From ERNIE@MAG.DAME.DE (Jan-Hinnerk Reichert)
  2830. Date: 3 Oct 96 03:57:40 +0200
  2831. Organization: (none)
  2832.  
  2833. In der Nachricht vom 26.Sep 96. 04:10 schrieb Shay Telfer 
  2834. (shay@cs.uwa.edu.au) unter dem Betreff "StandardGetFile doesn't 
  2835. display only 'MooV's":
  2836.  
  2837. > I've got this very simple C program:
  2838. > void main(void)
  2839. > {
  2840. >    SFTypeList typeList = {'MooV'};
  2841. >    StandardFileReply theReply;
  2842. >    Initialize();
  2843. >    StandardGetFile(NULL,1,typeList,&theReply);
  2844. > }
  2845. > The Initialize() function is the same one in SillyBalls.c (the
  2846. > default C code for a CodeWarrior project).
  2847. > When the StandardGetFile dialog is displayed, it shows *any* file,
  2848. > not just files of type 'MooV'. This apparently trivial problem is
  2849. > driving me nuts. I'm using CW10, Sys 7.5.5 on a 7200/120.
  2850.  
  2851. I can't see any mistakes. But perhaps it could help using
  2852.  
  2853.   typeList[0]='MooV' 
  2854.  
  2855. to initialize typeList. 
  2856.  
  2857. I know there's no reason why it should work better. But IMHO it's 
  2858. worth trying ;-)
  2859.  
  2860. - --------------------------------------------------------------------
  2861.  "Few other griefs amid the ill chances    **************************
  2862.   of this world have more bitterness       *                        *
  2863.   and shame for a man's heart than         *  Jan-Hinnerk Reichert  *
  2864.   to behold the love of a lady so fair     *   ERNIE@MAG.DAME.DE    *
  2865.   and brave that cannot be returned."      *                        *
  2866.                   Aragorn son of Arathorn  **************************
  2867. - --------------------------------------------------------------------
  2868.  
  2869. - MacZPoint 1.92 -
  2870.  
  2871.  
  2872. ---------------------------
  2873.  
  2874. From garimell@merle.acns.nwu.edu
  2875. Subject: Where is Resedit in Info-Mac
  2876. Date: Tue, 01 Oct 1996 20:11:48 -0500
  2877. Organization: Northwestern University, Evanston, IL, US
  2878.  
  2879. I am looking for this program and can't find it. If anyone knows of the
  2880. ftp site where I can find this, it would be very helpful.
  2881.  
  2882. +++++++++++++++++++++++++++
  2883.  
  2884. From ctate@world.std.com (Christopher L Tate)
  2885. Date: Wed, 2 Oct 1996 03:36:33 GMT
  2886. Organization: The World Public Access UNIX, Brookline, MA
  2887.  
  2888. garimell@merle.acns.nwu.edu wrote:
  2889. :
  2890. : I am looking for this program and can't find it. If anyone knows of the
  2891. : ftp site where I can find this, it would be very helpful.
  2892.  
  2893. You can't get it from any of the public archives; Apple maintain control
  2894. over it.  You *can* get it, I believe, from the Apple Developer FTP sites.
  2895. The FTP site is listed in the comp.sys.mac.games FAQ; I'll put the URL
  2896. here for you:
  2897.  
  2898. ftp://ftp.support.apple.com/apple_sw_updates/US/Macintosh/Utilities/
  2899.  
  2900. That's the directory whre you can find ResEdit 2.1.3, the most recent
  2901. actual release.
  2902.  
  2903. -- 
  2904. Christopher Tate               <*>   ctate@world.std.com
  2905. http://world.std.com/~ctate/   <*>   Finger for PGP public key
  2906. "Priest, it is a cold day for your swim, but so it must be."
  2907.  
  2908. +++++++++++++++++++++++++++
  2909.  
  2910. From v.salupo@lilly.com (Vince Salupo)
  2911. Date: Wed, 02 Oct 1996 11:50:55 -0600
  2912. Organization: Eli Lilly and Company
  2913.  
  2914. In article <garimell-0110962011480001@lrc112.ghsl.nwu.edu>,
  2915. garimell@merle.acns.nwu.edu wrote:
  2916.  
  2917. >I am looking for this program and can't find it. If anyone knows of the
  2918. >ftp site where I can find this, it would be very helpful.
  2919.  
  2920. Its not at INFO-MAC
  2921.  
  2922. Try any of the following:
  2923.  
  2924. <http://www.support.apple.com/pub/apple_sw_updates/US/Macintosh/Utilities/ResEdit_2.1.3.hqx>
  2925. <ftp://ftp.unsw.edu.au/pub/mac/apple-sw/util/resedit-213.hqx>
  2926. <ftp://ftp.inka.de/pub/comp/Mac/essential/resedit-213.hqx>
  2927.  
  2928. Vincent P Salupo
  2929. Eli Lilly and Company
  2930. v.salupo@lilly.com
  2931. As usual: All opinions are mine and do not reflect the views of my
  2932.           Company, Managers, co-workers, spouse, children, dog    
  2933.           etc.... 
  2934.  
  2935. +++++++++++++++++++++++++++
  2936.  
  2937. From Online@MacTech.com ( nick.c @MT )
  2938. Date: Fri, 04 Oct 1996 17:52:56 -0800
  2939. Organization: MacTech Magazine
  2940.  
  2941.  
  2942.  
  2943. ctate@world.std.com (Christopher L Tate) wrote:
  2944.  
  2945. >You can't get it from any of the public archives; Apple maintain control
  2946. >over it.  You *can* get it, I believe, from the Apple Developer FTP sites.
  2947. >The FTP site is listed in the comp.sys.mac.games FAQ; I'll put the URL
  2948. >here for you:
  2949. >
  2950. >ftp://ftp.support.apple.com/apple_sw_updates/US/Macintosh/Utilities/
  2951.  
  2952.  
  2953.    It's also usually on the CD of whatever compiler you're using
  2954.      (CodeWarrior or Symantec C++)--look for a "from Apple" or 
  2955.      similiarly named folder.
  2956.  
  2957. ____Nicholas C. DeMello, Ph.D.________________________________________
  2958.  
  2959.    Online from MacTech Magazine, for Mac OS Programmers and Developers
  2960.      http://www.MacTech.com/
  2961.                                        _/   _/  _/  _/_/_/   _/   _/  
  2962.   Chemistry: Nick@chem.UCLA.edu       _/_/ _/  _/  _/   _/  _/_/_/ 
  2963.     MacTech: Online@MacTech.com      _/ _/_/  _/  _/       _/ _/    
  2964.        http://www.chem.ucla.edu/~nick/   _/  _/   _/_/_/  _/   _/     
  2965.  
  2966. ---------------------------
  2967.  
  2968. From lwalters@ozemail.com.au (Lawrence Walters)
  2969. Subject: Windows and Mac programming
  2970. Date: Thu, 19 Sep 1996 01:58:59 GMT
  2971. Organization: Customer of Access One Pty Ltd, Melbourne, Australia
  2972.  
  2973. Hi guys,
  2974.  
  2975. I am on a team who is writing both Windows and Mac programs.
  2976.  
  2977. Does anyone know of a class library or something that will allow me to
  2978. use the same source code on both platforms.
  2979.  
  2980.  
  2981. Regards
  2982.  
  2983. Lawrence Walters
  2984.  
  2985.  
  2986. +++++++++++++++++++++++++++
  2987.  
  2988. From hellstrm@jagunet.com (B.J. Hellstrom)
  2989. Date: Thu, 19 Sep 1996 08:41:41 -0500
  2990. Organization: jaguNET Access Services
  2991.  
  2992. In article <3240a8ac.7635997@news.syd.aone.net.au>,
  2993. lwalters@ozemail.com.au (Lawrence Walters) wrote:
  2994.  
  2995. >Hi guys,
  2996. >
  2997. >I am on a team who is writing both Windows and Mac programs.
  2998. >
  2999. >Does anyone know of a class library or something that will allow me to
  3000. >use the same source code on both platforms.
  3001.  
  3002. MS has a cross-platform Visual C++ SDK.  It's pricey tho' (>$1000),
  3003. probably has a nasty overhead and will make your Mac look like a Wintel.
  3004.  
  3005. - -----------
  3006. B.J.Hellstrom
  3007. hellstrm@jagunet.com
  3008.  
  3009. +++++++++++++++++++++++++++
  3010.  
  3011. From mh@primenet.com (Mark Hartman)
  3012. Date: 20 Sep 1996 07:29:01 -0700
  3013. Organization: Mark Hartman Computer Solutions
  3014.  
  3015. In article <hellstrm-1909960841410001@news.jagunet.com>,
  3016. hellstrm@jagunet.com (B.J. Hellstrom) wrote:
  3017.  
  3018. >In article <3240a8ac.7635997@news.syd.aone.net.au>,
  3019. >lwalters@ozemail.com.au (Lawrence Walters) wrote:
  3020. >
  3021. >>Hi guys,
  3022. >>
  3023. >>I am on a team who is writing both Windows and Mac programs.
  3024. >>
  3025. >>Does anyone know of a class library or something that will allow me to
  3026. >>use the same source code on both platforms.
  3027. >
  3028. >MS has a cross-platform Visual C++ SDK.  It's pricey tho' (>$1000),
  3029. >probably has a nasty overhead and will make your Mac look like a Wintel.
  3030.  
  3031. Won't PowerPlant do this?
  3032. ======================================================================
  3033. Mark Hartman Computer Solutions - specializing in all things Macintosh
  3034.    C  C++   4th Dimension   Networking   System design/architecture
  3035. tel +1(714)758.0640 -+- fax +1(714)999.5030 -+- e-mail mh@primenet.com
  3036. ======================================================================
  3037.         A virus for Windows '95?  Isn't that a bit redundant?
  3038.  
  3039. +++++++++++++++++++++++++++
  3040.  
  3041. From Steve Makohin <WaterEdgSW@aol.com>
  3042. Date: 21 Sep 1996 19:16:08 GMT
  3043. Organization: Water's Edge Software
  3044.  
  3045. In article <3240a8ac.7635997@news.syd.aone.net.au> Lawrence Walters,
  3046. lwalters@ozemail.com.au writes:
  3047. >I am on a team who is writing both Windows and Mac programs.
  3048. >
  3049. >Does anyone know of a class library or something that will allow me to
  3050. >use the same source code on both platforms.
  3051.  
  3052. Give XVT Software Inc. a call at (303) 443-4223 or fax them at (303)
  3053. 443-0969. They're pricey, but they work on Mac, Windows, DOS and Unix
  3054. (libs for each compiler sold separately).
  3055.  
  3056. XVT Software Inc.
  3057. 4900 Pearl East Circle
  3058. Boulder CO
  3059. 80301 USA
  3060.  
  3061. -Steve Makohin
  3062.  Water's Edge Software
  3063. (Makers of Tools Plus & SuperCDEFs)
  3064.  http://www.interlog.com/~wateredg
  3065.  
  3066. +++++++++++++++++++++++++++
  3067.  
  3068. From vlod@wingz.com (vlod kalicun)
  3069. Date: Mon, 23 Sep 1996 12:52:04 +0000
  3070. Organization: I.I.S.C.
  3071.  
  3072. In article <mh-2009960729200001@ip230.sna.primenet.com>, mh@primenet.com
  3073. (Mark Hartman) wrote:
  3074.  
  3075. >In article <hellstrm-1909960841410001@news.jagunet.com>,
  3076. >hellstrm@jagunet.com (B.J. Hellstrom) wrote:
  3077. >
  3078. >>In article <3240a8ac.7635997@news.syd.aone.net.au>,
  3079. >>lwalters@ozemail.com.au (Lawrence Walters) wrote:
  3080. >>
  3081. >>>Hi guys,
  3082. >>>
  3083. >>>I am on a team who is writing both Windows and Mac programs.
  3084. >>>
  3085. >>>Does anyone know of a class library or something that will allow me to
  3086. >>>use the same source code on both platforms.
  3087. >>
  3088. >>MS has a cross-platform Visual C++ SDK.  It's pricey tho' (>$1000),
  3089. >>probably has a nasty overhead and will make your Mac look like a Wintel.
  3090. >
  3091. >Won't PowerPlant do this?
  3092. >======================================================================
  3093. >Mark Hartman Computer Solutions - specializing in all things Macintosh
  3094.  
  3095. What so PowerPlant allows you to create code that can be compiled on
  3096. both platforms? You just set the platform of your choice?
  3097.  
  3098. -vlod
  3099.  
  3100. *********************************************************************
  3101. *        Vlod Kalicun            | Wingz/HyperScript Tools Dev.Team *
  3102. *"A disaster waiting to happen!" | Investment Inteligience Sys Corp.*
  3103. *       vlod@wingz.com           | London, England. www.wingz.com   *
  3104. *********************************************************************
  3105.  
  3106. +++++++++++++++++++++++++++
  3107.  
  3108. From kjohnson@transparent.com (Kent Johnson)
  3109. Date: Mon, 23 Sep 1996 14:45:57 GMT
  3110. Organization: Transparent Language, Inc.
  3111.  
  3112. In article <vlod-2309961252040001@vulture.iisc.co.uk>, vlod@wingz.com
  3113. (vlod kalicun) wrote:
  3114.  
  3115. > In article <mh-2009960729200001@ip230.sna.primenet.com>, mh@primenet.com
  3116. > (Mark Hartman) wrote:
  3117. > >
  3118. > >>In article <3240a8ac.7635997@news.syd.aone.net.au>,
  3119. > >>lwalters@ozemail.com.au (Lawrence Walters) wrote:
  3120. > >>>
  3121. > >>>I am on a team who is writing both Windows and Mac programs.
  3122. > >>>
  3123. > >>>Does anyone know of a class library or something that will allow me to
  3124. > >>>use the same source code on both platforms.
  3125. > >>
  3126. > >
  3127. > What so PowerPlant allows you to create code that can be compiled on
  3128. > both platforms? You just set the platform of your choice?
  3129. No. PowerPlant (the application framework) is Mac-only.
  3130.  
  3131. CodeWarrior (the development environment) can build Windows applications
  3132. using MFC.
  3133.  
  3134. CodeWarrior does not include a portable application framework.
  3135.  
  3136. Kent Johnson                                kjohnson@transparent.com
  3137. Transparent Language, Inc.                http://www.transparent.com
  3138.  
  3139. +++++++++++++++++++++++++++
  3140.  
  3141. From Steve Makohin <WaterEdgSW@aol.com>
  3142. Date: 21 Sep 1996 19:16:08 GMT
  3143. Organization: Water's Edge Software
  3144.  
  3145. Reposting article removed by rogue canceller.
  3146.  
  3147. In article <3240a8ac.7635997@news.syd.aone.net.au> Lawrence Walters,
  3148. lwalters@ozemail.com.au writes:
  3149. >I am on a team who is writing both Windows and Mac programs.
  3150. >
  3151. >Does anyone know of a class library or something that will allow me to
  3152. >use the same source code on both platforms.
  3153.  
  3154. Give XVT Software Inc. a call at (303) 443-4223 or fax them at (303)
  3155. 443-0969. They're pricey, but they work on Mac, Windows, DOS and Unix
  3156. (libs for each compiler sold separately).
  3157.  
  3158. XVT Software Inc.
  3159. 4900 Pearl East Circle
  3160. Boulder CO
  3161. 80301 USA
  3162.  
  3163. -Steve Makohin
  3164.  Water's Edge Software
  3165. (Makers of Tools Plus & SuperCDEFs)
  3166.  http://www.interlog.com/~wateredg
  3167.  
  3168. +++++++++++++++++++++++++++
  3169.  
  3170. From gchapman@irus.rri.uwo.ca (Greg Chapman)
  3171. Date: Mon, 23 Sep 1996 11:30:57 -0500
  3172. Organization: Robarts Research Institute
  3173.  
  3174. In article <mh-2009960729200001@ip230.sna.primenet.com>, mh@primenet.com
  3175. (Mark Hartman) wrote:
  3176.  
  3177. > Won't PowerPlant do this?
  3178.  
  3179. Because PowerPlant is too dependent on low level Mac technologies...
  3180. Window Mgr, Sound Mgr etc etc, where Windows doesn't have anything similar
  3181. in nature.
  3182.  
  3183. -- 
  3184. Greg Chapman
  3185. Mac Developer - Robarts Research Institute
  3186. Advanced Imaging Research Group (AIRG)
  3187. - -
  3188. "You! Out of the gene pool!"
  3189.  
  3190. +++++++++++++++++++++++++++
  3191.  
  3192. From fmeyvis@allserv.rug.ac.be (Francis Meyvis)
  3193. Date: 24 Sep 1996 10:16:12 GMT
  3194. Organization: University of Ghent, Belgium
  3195.  
  3196. Why don't you try amulet : free X, mac and windows class lib
  3197. <http://www.cs.cmu.edu/afs/cs/project/amulet/www/amulet-home.html>
  3198. I'd like to hear from you're experience ...
  3199.  
  3200. Lawrence Walters (lwalters@ozemail.com.au) wrote:
  3201. : Hi guys,
  3202.  
  3203. : I am on a team who is writing both Windows and Mac programs.
  3204.  
  3205. : Does anyone know of a class library or something that will allow me to
  3206. : use the same source code on both platforms.
  3207.  
  3208.  
  3209. : Regards
  3210.  
  3211. : Lawrence Walters
  3212.  
  3213.  
  3214. +++++++++++++++++++++++++++
  3215.  
  3216. From meir@zoology.washington.edu (Eli Meir)
  3217. Date: 24 Sep 1996 16:48:08 GMT
  3218. Organization: Dept. of Zoology, Univ. of Washington
  3219.  
  3220. There is also another framework called Zinc that claims cross-platform
  3221. support, another one from Neuron Data (800-876-4915) (which I think is
  3222. cross-platform), and one from Rogue Wave (which claimed on the phone,
  3223. but not in their brochure, to do Mac along with Windoze and Unix -
  3224. 800-487-3217) and I think there are a couple more.  You might get a
  3225. catalog from The Programmers Supershop, which seems to list a few
  3226. different cross-platform tools (mostly "cross-platform" to them means
  3227. across the different flavors of windoze, unfortunetly). 
  3228. 1-800-421-8006.  Almost all of these are very expensive (like 10's of
  3229. thousands of dollars plus royalties), and they don't always give you
  3230. code that you just flip a switch and it compiles on another platform -
  3231. usually, there is some work involved which they say they will guide you
  3232. through.  Even the MS cross-platform library only claims 90% of code
  3233. will be compatible
  3234.  
  3235. I have actually just switched to Java for my next program, to get
  3236. automatic cross-platform support (at the expense of speed, making the
  3237. user-interface exactly how I want it, and accessing some platform
  3238. dependent functions - its a reasonable trade-off for me, and besides, I
  3239. find writing in Java quite a bit faster than writing in C++).  For my
  3240. last program, I hired someone to do the conversion.  It's taken quite a
  3241. while, but he wasn't familiar with Windows to begin with.  I suspect if
  3242. he had been familiar, and if I had isolated the user interface bits a
  3243. little more, it wouldn't have been too bad. 
  3244.  
  3245. Good luck, this is a hard problem.
  3246.  
  3247. Eli Meir
  3248. Dept of Zoology, Univ of Washington
  3249. meir@zoology.washington.edu
  3250.  
  3251. +++++++++++++++++++++++++++
  3252.  
  3253. From fpottier@pauillac.inria.fr (Francois Pottier)
  3254. Date: 24 Sep 1996 18:00:10 GMT
  3255. Organization: INRIA Rocquencourt, BP 105, 78153 Le Chesnay Cedex, France
  3256.  
  3257. In article <5293c8$ii2@nntp1.u.washington.edu>,
  3258. Eli Meir <meir@zoology.washington.edu> wrote:
  3259.  
  3260. >I have actually just switched to Java for my next program, to get
  3261. >automatic cross-platform support (at the expense of speed, making the
  3262. >user-interface exactly how I want it, and accessing some platform
  3263. >dependent functions
  3264.  
  3265. Can you make Mac Toolbox or OS calls from Java? Can you build
  3266. stand-alone applications? Which compiler are you using?
  3267.  
  3268. I'm curious... I thought Java only had a few libraries (awt and
  3269. such) which weren't enough to do what we do today in C++. Am I
  3270. wrong?
  3271.  
  3272. --
  3273. Francois Pottier
  3274. Francois.Pottier@inria.fr
  3275. http://pauillac.inria.fr/~fpottier/
  3276.  
  3277. +++++++++++++++++++++++++++
  3278.  
  3279. From carl.gustafson@no.spam.welcome (Carl Gustafson)
  3280. Date: Mon, 23 Sep 1996 11:49:53 -0400
  3281. Organization: Imaging and Computer Vision Center, Drexel University
  3282.  
  3283. In article <3240a8ac.7635997@news.syd.aone.net.au>,
  3284. lwalters@ozemail.com.au (Lawrence Walters) wrote:
  3285.  
  3286. > I am on a team who is writing both Windows and Mac programs.
  3287.  
  3288. My sympathy.
  3289.  
  3290. > Does anyone know of a class library or something that will allow me to
  3291. > use the same source code on both platforms.
  3292.  
  3293. There's probably half-a-dozen frameworks that promise this, as well as X,
  3294. SunOS, Motif, and WhoKnowsWhatElse. Not having a copy of Dr. Dobbs in the
  3295. office (where they all advertise) I can't give you specifics.
  3296.  
  3297. Of course, you'll get the least common denominator for your product.
  3298.  
  3299. -- 
  3300. Carl Gustafson
  3301. carl.gustafson at ece.drexel.edu
  3302. (busily trying to avoid spammers)
  3303. Imaging and Computer Vision Center
  3304. Drexel University, Philadelphia, Penna
  3305. - ----------------------------------------------------------
  3306. I don't speak for Drexel, and Drexel doesn't listen to me...
  3307.  
  3308. +++++++++++++++++++++++++++
  3309.  
  3310. From vlod@wingz.com (vlod kalicun)
  3311. Date: Wed, 25 Sep 1996 13:09:50 +0000
  3312. Organization: I.I.S.C.
  3313.  
  3314. In article <5297ja$kof@news-rocq.inria.fr>, fpottier@pauillac.inria.fr
  3315. (Francois Pottier) wrote:
  3316.  
  3317. >In article <5293c8$ii2@nntp1.u.washington.edu>,
  3318. >Eli Meir <meir@zoology.washington.edu> wrote:
  3319. >
  3320. >>I have actually just switched to Java for my next program, to get
  3321. >>automatic cross-platform support (at the expense of speed, making the
  3322. >>user-interface exactly how I want it, and accessing some platform
  3323. >>dependent functions
  3324. >
  3325. >Can you make Mac Toolbox or OS calls from Java? Can you build
  3326. >stand-alone applications? Which compiler are you using?
  3327. >
  3328. >I'm curious... I thought Java only had a few libraries (awt and
  3329. >such) which weren't enough to do what we do today in C++. Am I
  3330. >wrong?
  3331. >
  3332. >--
  3333. >Francois Pottier
  3334. >Francois.Pottier@inria.fr
  3335. >http://pauillac.inria.fr/~fpottier/
  3336.  
  3337. Thats my general impression of java. The speed problem will
  3338. eventually go away when JIT (Just-In-Time) compilers start to
  3339. really take off and when they get introduced into netscape.
  3340.  
  3341. Java is cool though, but has to deal with the lowest common
  3342. denominator. ie I want my application to support applescript,
  3343. drag-and-drop etc. 
  3344.  
  3345. -vlod
  3346.  
  3347. *********************************************************************
  3348. *        Vlod Kalicun            | Wingz/HyperScript Tools Dev.Team *
  3349. *"A disaster waiting to happen!" | Investment Inteligience Sys Corp.*
  3350. *       vlod@wingz.com           | London, England. www.wingz.com   *
  3351. *********************************************************************
  3352.  
  3353. +++++++++++++++++++++++++++
  3354.  
  3355. From rcsmith@servtech.com (Roger Smith)
  3356. Date: Mon, 23 Sep 1996 09:32:57 -0500
  3357. Organization: Base Online
  3358.  
  3359. > >>MS has a cross-platform Visual C++ SDK.  It's pricey tho' (>$1000),
  3360. > >>probably has a nasty overhead and will make your Mac look like a Wintel.
  3361. > >
  3362.  
  3363.  
  3364. Check again. Microsoft Announced at WWDC that they had reduced the price
  3365. to $195 US. My company orderded and received a copy of the MS cross
  3366. compiler about 3 weeks ago (at the $195 price).
  3367.  
  3368. Roger Smith
  3369.  
  3370. +++++++++++++++++++++++++++
  3371.  
  3372. From msoori@genetics.bio-rad.com (msoori)
  3373. Date: Thu, 26 Sep 1996 23:46:13 GMT
  3374. Organization: Bio-Rad Laboratories
  3375.  
  3376. Dont fall in to hole of trying to get 100% cross-platform capability,
  3377. because there is no such thing.
  3378.  
  3379. Use a good class library to build your interface and share as much of your
  3380. non-interface code as possible.  This way you can get the most out of the
  3381. platform capabilities and the look and feel, yet get a good deal of code
  3382. shared across the platforms.  We use MacApp (though I actually preffer
  3383. PowerPlant) on the Mac and Visual C++ on the windoze to build our
  3384. interfaces, and standard c++ libs (stl at the moment) to implement
  3385. cross-platform algos.
  3386.  
  3387. It seems like most people that I come into contact with falls into this
  3388. cross-platform hole and program with one hand tied behind their back for
  3389. the rest the program's life cycle and eventually have to re-write it again
  3390. as the OSes changes and matures.  If you depend on some body else's libs
  3391. to make your app cross-platform, for one thing most of them take the least
  3392. common dinominator approach and ignore technologies dependent on the
  3393. platform, and for another you are at the mercy of that company.  If they
  3394. decide to stop support for one platform and you wanted it - tough luck.
  3395.  
  3396. In article <R.521eto$bh4@news.interlog.com>, Steve Makohin
  3397. <WaterEdgSW@aol.com> wrote:
  3398.  
  3399. > Reposting article removed by rogue canceller.
  3400. > In article <3240a8ac.7635997@news.syd.aone.net.au> Lawrence Walters,
  3401. > lwalters@ozemail.com.au writes:
  3402. > >I am on a team who is writing both Windows and Mac programs.
  3403. > >
  3404. > >Does anyone know of a class library or something that will allow me to
  3405. > >use the same source code on both platforms.
  3406. > Give XVT Software Inc. a call at (303) 443-4223 or fax them at (303)
  3407. > 443-0969. They're pricey, but they work on Mac, Windows, DOS and Unix
  3408. > (libs for each compiler sold separately).
  3409. > XVT Software Inc.
  3410. > 4900 Pearl East Circle
  3411. > Boulder CO
  3412. > 80301 USA
  3413. > -Steve Makohin
  3414. >  Water's Edge Software
  3415. > (Makers of Tools Plus & SuperCDEFs)
  3416. >  http://www.interlog.com/~wateredg
  3417.  
  3418. +++++++++++++++++++++++++++
  3419.  
  3420. From info@dex.co.uk
  3421. Date: Mon, 30 Sep 1996 06:33:26 GMT
  3422. Organization: dex
  3423.  
  3424. carl.gustafson@no.spam.welcome (Carl Gustafson) wrote:
  3425.  
  3426. >In article <3240a8ac.7635997@news.syd.aone.net.au>,
  3427. >lwalters@ozemail.com.au (Lawrence Walters) wrote:
  3428.  
  3429. >> I am on a team who is writing both Windows and Mac programs.
  3430.  
  3431. >My sympathy.
  3432.  
  3433. >> Does anyone know of a class library or something that will allow me to
  3434. >> use the same source code on both platforms.
  3435.  
  3436. >There's probably half-a-dozen frameworks that promise this, as well as X,
  3437. >SunOS, Motif, and WhoKnowsWhatElse. Not having a copy of Dr. Dobbs in the
  3438. >office (where they all advertise) I can't give you specifics.
  3439.  
  3440. Bewing new to the world of Macs, can you plwease tell me what Dr Dobbs
  3441. is as it sounds like it might be useful.
  3442.  
  3443. thanks
  3444. Dee
  3445. >Of course, you'll get the least common denominator for your product.
  3446.  
  3447. >-- 
  3448. >Carl Gustafson
  3449. >carl.gustafson at ece.drexel.edu
  3450. >(busily trying to avoid spammers)
  3451. >Imaging and Computer Vision Center
  3452. >Drexel University, Philadelphia, Penna
  3453. >------------------------------------------------------------
  3454. >I don't speak for Drexel, and Drexel doesn't listen to me...
  3455.  
  3456.  
  3457.  
  3458. +++++++++++++++++++++++++++
  3459.  
  3460. From carl.gustafson@no.spam.welcome (Carl Gustafson)
  3461. Date: Thu, 03 Oct 1996 10:08:49 -0400
  3462. Organization: Imaging and Computer Vision Center, Drexel University
  3463.  
  3464. In article <52mtfr$cgu@s02-brighton.pavilion.co.uk>, info@dex.co.uk wrote:
  3465.  
  3466. > Bewing new to the world of Macs, can you plwease tell me what Dr Dobbs
  3467. > is as it sounds like it might be useful.
  3468.  
  3469. Properly titled: Dr Dobbs Journal.
  3470.  
  3471. It is a programmer rag primarily aimed at Windoze droids. Provides shallow
  3472. coverage of trendy topics, with the occasionally useful chunk thrown in.
  3473. Michael Swain's column is occasional entertaining. (All MAO, of course.)
  3474.  
  3475. Don't know if it is available over the counter (or even under) in the UK.
  3476.  
  3477. -- 
  3478. Carl Gustafson
  3479. carl.gustafson at ece.drexel.edu
  3480. (busily trying to avoid spammers)
  3481. Imaging and Computer Vision Center
  3482. Drexel University, Philadelphia, Penna
  3483. - ----------------------------------------------------------
  3484. I don't speak for Drexel, and Drexel doesn't listen to me...
  3485.  
  3486. ---------------------------
  3487.  
  3488. From rliechty@tdsnet.com (MW Ron)
  3489. Subject: [ANN ]MWDebug-MacOS 1.6.3 is available for downloading
  3490. Date: Fri, 04 Oct 1996 23:47:35 -0400
  3491. Organization: Metrowerks
  3492.  
  3493. MWDebug/MacOS 1.6.3 is available for downloading
  3494.  
  3495. now or soon from the following URLS
  3496.  
  3497. http://www.metrowerks.com/tools/software/updates/current
  3498. or
  3499. ftp://ftp.metrowerks.com/pub/updates/CW10/   
  3500. European Mirror Site
  3501. ftp://ftp.promo.de/pub/Metrowerks/mirror/updates/CW10/
  3502.  
  3503. ============================
  3504. MW Debug/MacOS Release Notes
  3505. ============================
  3506.  
  3507. Version: MWDebug/MacOS 1.6.3
  3508. Date:    10/2/96
  3509. Author:  Mike Lockwood
  3510. ============================
  3511.  
  3512. This is patch release to the CW10 Metrowerks debugger.  It fixes some bugs
  3513. that have been discovered after
  3514. CW10 had been released.  
  3515.  
  3516. NOTE:  There are still some known bugs in the CW10 debugger that are not
  3517. fixed in this release.  We will have
  3518. another patch release soon to fix some more bugs.  Since some of these
  3519. bugs are crashing bugs that prevent
  3520. the debugger from working on certain system configurations, we have
  3521. decided to release this now rather than
  3522. waiting for other bugs to be fixed.
  3523.  
  3524.  
  3525. ===================================
  3526. Important Installation Instructions
  3527. ===================================
  3528.  
  3529. - In order for Java debugging to work, you must use the copy of Metrowerks
  3530. Java from the CW10 CD.
  3531. The debugger is not compatible with earlier versions of Metrowerks Java. 
  3532.  
  3533. - On 68K machines, MWDebug/MacOS 1.6.3 requires 68K-CFM.  You must install the
  3534. " CFM-68K Runtime Enabler" in order to run the debugger on 68K machines. 
  3535. If you use the CW10 Tools
  3536. installer, this extension should be installed automatically.  Otherwise,
  3537. you can get a copy from:
  3538. "CW10 Gold Tools:CodeWarrior
  3539. MPW:Interfaces&Libraries:RuntimeLibraries:CFM-68K Additions:"
  3540.  
  3541. - The "Debugger Plugins" folder must be in the same directory as the
  3542. MWDebug application.
  3543. Or optionally, an alias to the "Debugger Plugins" folder can be placed in
  3544. the same directory
  3545. as the debugger application instead.
  3546.  
  3547. - In order to debug MP applications on multiprocessor PowerMacs, you may
  3548. have to edit the
  3549. 'sysz' resource in MetroNub.  If you get a message just after your machine
  3550. boots into the
  3551. Finder that says there was not enough memory to load the MP library, edit
  3552. the 'sysz' resource
  3553. in MetroNub and change the value to a large number like 1,300,000.  This
  3554. will reserve extra
  3555. memory in the System heap so MetroNub can connect to the MP Library at
  3556. boot time.  The actual
  3557. amount of memory may vary, depending on the amount of RAM and number of
  3558. processors in your machine.
  3559.  
  3560.  
  3561. ==========================
  3562. Bugs Fixed in This Version
  3563. ==========================
  3564.  
  3565. - Fixed a bug that caused a crash when launching the debugger application
  3566. on some 68K machines running
  3567. system software earlier than 7.5.
  3568.  
  3569. - The debugger application no longer crashes when launched on a 68K
  3570. machine without the 
  3571. " CFM-68K Runtime Enabler" installed.  Now the debugger uses an alert to
  3572. inform the user that
  3573. " CFM-68K Runtime Enabler" needs to be installed.
  3574.  
  3575. - Fixed a crash that occured on on 68K machines that have the Drag Manager
  3576. installed but did not have
  3577. NuDragLib.slb in the Extensions folder.
  3578.  
  3579. - Fixed a crash that occured when displaying a source file that does not
  3580. have an 'MPSR' resource, and
  3581. the debugger is unable to read default preferences from the IDE's
  3582. preferences file.
  3583.  
  3584. - Fixed a problem that prevented the debugger from launching on PowerMacs
  3585. with an old version of MathLib 
  3586. (for example, 1st generation PowerMacs running System 7.5).
  3587.  
  3588. - Fixed a crash that occured when displaying 80 bit floating point values
  3589. on PowerPC machines, and
  3590. when attempting to open the 68K FPU Registers window on a 68K machine
  3591. (which is possible, if you have
  3592. SoftwareFPU installed).
  3593.  
  3594. - When debugging 68K code with the "Catch C++ Exceptions" preference on,
  3595. the debugger now stops at
  3596. the call to __throw rather than on the first instruction of __throw.
  3597.  
  3598. - The debugger now stops at catch when debugging with the "Catch C++
  3599. Exceptions" preference on.
  3600.  
  3601. - Instead of having a separate log window for each task or thread, there
  3602. is now only one log window
  3603. per process.
  3604.  
  3605. - The popup menu (to the left of the source code, next to the breakpoint
  3606. markers) for choosing
  3607. between the different expansions of a template is working again.
  3608.  
  3609. - The debugger is now able to launch control panel applications (that is,
  3610. applications with file
  3611. type 'APPC' instead of 'APPL').
  3612.  
  3613. - Fixed a problem reading the syntax coloring preferences from the IDE's
  3614. preferences file.
  3615.  
  3616. - Fixed a problem launching Java applets when their html file contains
  3617. quotes embedded in
  3618. a pathname.
  3619.  
  3620. - Fixed a drawing problem that occured while editing variable values.
  3621.  
  3622. - Fixed a crash that sometimes occured the second time you ran an applet
  3623. without quitting 
  3624. the debugger inbetween.
  3625.  
  3626. -- 
  3627. METROWERKS                   Ron Liechty
  3628. "Software at Work"    MWRon@metrowerks.com
  3629. http://www.metrowerks.com/about/people/rogues.html#mwron
  3630.  
  3631. ---------------------------
  3632.  
  3633. From Jeremy Vineyard <jeremyv@viperware.com>
  3634. Subject: [ANN] Licorice for Game Sprocket Developers
  3635. Date: Fri, 04 Oct 1996 21:22:06 +0000
  3636. Organization: Viperware(tm)
  3637.  
  3638. Viperware(tm) is proud to announce Licorice, a new series of web pages 
  3639. designed specifically for developers using Apple's Game Sprockets.  The 
  3640. URL for Licorice is:
  3641.  
  3642. "http://www.viperware.com/licorice"
  3643.  
  3644. Licorice features FAQ's for each of the Game Sprockets.  Questions and 
  3645. answers have been taken from the past 6 months of the 
  3646. Mac-Games-Developer mailing list.
  3647.  
  3648. If you have a question concerning Game Sprockets, you should check 
  3649. Licorice first to see if your question is answered in a FAQ.  Hopefully 
  3650. this will reduce noise on the newsgroups and mailing lists, and will 
  3651. make using these services more enjoyable.
  3652.  
  3653. ** Also take a look at Butterscotch, the #1 source of information for 
  3654. game developers: http://www.viperware.com/butterscotch **
  3655.  
  3656. +-----------------------+--------------------------+
  3657. | Jeremy Vineyard       | http://www.viperware.com |
  3658. | Viperware(tm)         |                          |
  3659. | jeremyv@viperware.com |                          |
  3660. +-----------------------+--------------------------+
  3661.  
  3662. ---------------------------
  3663.  
  3664. From elundber@ucsd.edu (eric lundberg)
  3665. Subject: [Q] Drawing Lines?
  3666. Date: Tue, 24 Sep 1996 14:26:51 -0800
  3667. Organization: UCSD && Varcon Systems Inc.
  3668.  
  3669. Hi, before I fire away with the questions here's a little backround on
  3670. what I'm doing and why.  I am _trying_ to make a line drawing tool like
  3671. you would see in any paint program.  With the line (as the user drags the
  3672. mouse around) drawing over what is currently in the window, and leaving it
  3673. as it was as the line moves past it.  
  3674.    I didn't want my program to take a lot of memory so what I thought I
  3675. would do is have one offscreen where I stored the contents of the window. 
  3676. Then for each iteration of the user draging the mouse, I would draw a line
  3677. into the window with the standard MoveTo LineTo, followed by a call to a
  3678. routine I wrote that uses a bresenham line algorithm to follow that same
  3679. line, but copy those specific pixels out of my offscreen and into the
  3680. window.  I actually got
  3681. that bresenham routine working with the direct access to screen and access
  3682. to the offscreen.  HOWEVER, it doesn't follow the same line that lineTo
  3683. follows!!  Or I guess more to the point, it makes the same line that
  3684. lineTo does, but it is offset down that line.  Here's an example:
  3685. o         
  3686.  oo       
  3687.    oo     
  3688.      o    
  3689.       oo  
  3690. This is my line above here
  3691.  
  3692. oo        
  3693.   oo      
  3694.     o     
  3695.      oo   
  3696.        oo 
  3697. This is Quickdraw version of that same line...
  3698.  
  3699. They both follow the same pattern (2,2,1) but they start in different places in
  3700. that pattern.  My two guesses thus far (for those of you familer with
  3701. bresenhams alg.) are that either quickdraw doesn't set it's error_term to
  3702. zero and instead sets it to some function of the x and y differences.  Or
  3703. that quickdraw isn't drawing the line from the start point to the finish
  3704. point, but is drawing it from somewhere farther up the line to the finish
  3705. point and clipping till it actually gets to the start point. 
  3706. Unfortunately neither of them sounds too plausable, which I guess really
  3707. just says I don't know whats going on. :)  My bresenham code looks just
  3708. about the same as a million other versions of the algorithm I've seen in
  3709. the last couple of days so I really don't think it's that. Anyone have any
  3710. ideas one why I have that difference problem with the lineto?
  3711.  
  3712. My current solution is to not use LineTo and to use my bresenham line to
  3713. draw.  However in order to use more than 256 color mode I am just
  3714. calculating the pixel offsets and calling SetCPixel (ugly ugly I know)
  3715. with a RGBColor.  If someone could explain to me how I can convert a
  3716. RGBColor to the appropriate values for different color depths (8bit 16bit
  3717. 24bit etc) I could just do that and draw the line to memory myself and it
  3718. would be plenty fast.
  3719.  
  3720. So if anyone has any thoughts on this I'd love to hear them.  Even if they
  3721. are on the order of "Silly, why didn't you just use the XXXXToolbox call
  3722. to do that for you?" :) Thanks in advance.
  3723.  
  3724. -e
  3725.  
  3726. BTW - Just so you know I did my homework, I did scan throught the c.s.m.p
  3727. digest archives from about 92-96, visted about 8 bresenham sites, went
  3728. through most of the snippet code at devworld, and scaned through the ever
  3729. fun 'imaging with quickdraw.'
  3730.  
  3731. +++++++++++++++++++++++++++
  3732.  
  3733. From bseib@purdue.edu (Broc Seib)
  3734. Date: 26 Sep 1996 16:51:58 GMT
  3735. Organization: Purdue University
  3736.  
  3737. In article <elundber-2409961426510001@d12.remote.sdsc.edu>,
  3738. elundber@ucsd.edu (eric lundberg) wrote:
  3739.  
  3740. > Hi, before I fire away with the questions here's a little backround on
  3741. > what I'm doing and why.  I am _trying_ to make a line drawing tool like
  3742. > you would see in any paint program.  With the line (as the user drags the
  3743. > mouse around) drawing over what is currently in the window, and leaving it
  3744. > as it was as the line moves past it.
  3745.  
  3746. The most common way of doing this is by using the XOR PenMode.
  3747.  
  3748. While you drag your line's endpoint, you are in "modal" operation.
  3749. You show your "modal" change to the image by xor'ing your line
  3750. with the original image. You return the image to it's original
  3751. state by performing the same XOR again, e.g.,
  3752.  
  3753. [1]   orig_image ^ your_image = modal_image
  3754. [2]  modal_image ^ your_image =  orig_image
  3755.  
  3756. You should only do [2] when a MouseMoved event occurs, else you'll
  3757. get unecessary redraw/flicker. (Of course you loop and apply [1] again
  3758. until the button is released...)
  3759.  
  3760. When you release the mouse button, then update your image for real.
  3761.  
  3762. [...]
  3763.  
  3764. > I actually got
  3765. > that bresenham routine working with the direct access to screen and access
  3766. > to the offscreen.  HOWEVER, it doesn't follow the same line that lineTo
  3767. > follows!!  Or I guess more to the point, it makes the same line that
  3768. > lineTo does, but it is offset down that line.  Here's an example:
  3769. > o         
  3770. >  oo       
  3771. >    oo     
  3772. >      o    
  3773. >       oo  
  3774. > This is my line above here
  3775. > oo        
  3776. >   oo      
  3777. >     o     
  3778. >      oo   
  3779. >        oo 
  3780. > This is Quickdraw version of that same line...
  3781. > They both follow the same pattern (2,2,1) but they start in different places
  3782. > in that pattern.
  3783. [...]
  3784. > Anyone have any
  3785. > ideas one why I have that difference problem with the lineto? 
  3786.  
  3787. [...]
  3788.  
  3789. On this point, remember that there are an infinite number of *real*
  3790. lines that could produce one of a finite number of *pixel* lines
  3791. between two pixels on your screen. e.g.,
  3792.       |
  3793.    ---*---+---+---+---+---+---+---+---+---
  3794.       | a |   |   |   |   |   |   |   |
  3795.    ---+---+---+---+---+---+---+---+---+--
  3796.       |   |   |   |   |   |   |   |   |
  3797.     --+---+---+---+---+---+---+---+---+-
  3798.       |   |   |   |   |   |   |   |   |
  3799.    ---+---+---+---+---+---+---+---+---+--
  3800.       |   |   |   |   |   |   |   |   |
  3801.     --+---+---+---+---+---+---+---+---+-
  3802.       |   |   |   |   |   |   |   |   |
  3803.    ---+---+---+---+---+---+---+---*---+--
  3804.       |   |   |   |   |   |   |   | b |
  3805.     --+---+---+---+---+---+---+---+---#-
  3806.       |   |   |   |   |   |   |   |   |
  3807.  
  3808. Think in a real number coord system for a moment instead of discrete
  3809. pixel cells. I put two asterisks at the upper left corner of the two
  3810. pixel cells we want to connect.
  3811.  
  3812. If you draw a *real* line between these two asterisks and apply the
  3813. Bresenham algorithm using that real line, you'll a particular result.
  3814.  
  3815. Now, move the asterisks to the centers of the cells, or opposite
  3816. corners, or *anywhere* within the cell. You'll get slight variations
  3817. of your previous result.
  3818.  
  3819. For example from above, realline(a*,b*) is different from realline(a*,b#).
  3820. They *may* produce different pixel-rep lines w/ Bresenham alg.
  3821.  
  3822. I cannot say what Quickdraw is doing; I'm just giving you my theory
  3823. of what might be happening. You might be able to simply trick your
  3824. line algorithm to offset the endpoints of your line by half a
  3825. pixel (or such) and actually get the same results as Quickdraw...
  3826. This would actually be an interesting exercise to do so without using
  3827. any floating point math... :-)
  3828.  
  3829. I would guess that Apple uses the Bresenham algorithm in some fashion.
  3830.  
  3831. :-)
  3832. _______________________________________________________________________
  3833.   Broc Seib (bseib@purdue.edu)  |  Purdue University Computing Center
  3834.   Network Systems Programmer    |  Instructional Computing Division
  3835. _______________________________________________________________________
  3836.   Broc Seib (bseib@purdue.edu)  |  Purdue University Computing Center
  3837.   Network Systems Programmer    |  Instructional Computing Division
  3838.  
  3839. +++++++++++++++++++++++++++
  3840.  
  3841. From "Aidan Cully" <aidan@panix.com>
  3842. Date: 3 Oct 96 01:57:13 -0400
  3843. Organization: INTAC Access Corporation - An Internet Service Provider
  3844.  
  3845. >
  3846. >o         
  3847. > oo       
  3848. >   oo     
  3849. >     o    
  3850. >      oo  
  3851. >This is my line above here
  3852. >
  3853. >oo        
  3854. >  oo      
  3855. >    o     
  3856. >     oo   
  3857. >       oo 
  3858. >This is Quickdraw version of that same line...
  3859. >
  3860. >They both follow the same pattern (2,2,1) but they start in different
  3861. places
  3862. >in
  3863. >that pattern.  My two guesses thus far (for those of you familer with
  3864. >bresenhams alg.) are that either quickdraw doesn't set it's error_term to
  3865. >zero and instead sets it to some function of the x and y differences.  Or
  3866. >that quickdraw isn't drawing the line from the start point to the finish
  3867. >point, but is drawing it from somewhere farther up the line to the finish
  3868. >point and clipping till it actually gets to the start point. 
  3869. >Unfortunately neither of them sounds too plausable, which I guess really
  3870. >just says I don't know whats going on. :)  My bresenham code looks just
  3871. >about the same as a million other versions of the algorithm I've seen in
  3872. >the last couple of days so I really don't think it's that. Anyone have any
  3873. >ideas one why I have that difference problem with the lineto?
  3874.  
  3875. As you can probably see, your algorithm goes from (0,0) to (5,8), while
  3876. quickdraw's goes from (0,0) to (5,9).  I imagine the problem you are having
  3877. comes from that.  Is your line inclusive?
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883. ---------------------------
  3884.  
  3885. From reuven_sherwin@mail.stil.scitex.com (Reuven J. Sherwin)
  3886. Subject: [Q] Switching the Sound Input source
  3887. Date: Thu, 03 Oct 1996 07:00:45 +0200
  3888. Organization: Scitex Multimedia Publishing
  3889.  
  3890. Hi there,
  3891.  
  3892. I'm looking for source code example that demonstrate how to use the Sound
  3893. Input API for storing the current Sound Input device, then switching it to
  3894. the Microphone, and then back again.
  3895.  
  3896. Any sample would be of much help.
  3897.  
  3898. Thanks,
  3899.    Reuven Sherwin
  3900.  
  3901. -- 
  3902. Reuven J. Sherwin               email: reuven_sherwin@mail.stil.scitex.com
  3903. Pitagno Multimedia Ltd.
  3904. a Scitex company
  3905.  
  3906. "Everything ought to turned upside down occasionally; it lets in air and light." - Betty Sorenson, "Star Beast", R.A.H.
  3907.  
  3908. +++++++++++++++++++++++++++
  3909.  
  3910. From craig@epic.co.uk (Craig Emery)
  3911. Date: Thu, 03 Oct 1996 12:31:00 +0100
  3912. Organization: Epic Miltimedia Group
  3913.  
  3914. In article <reuven_sherwin-0310960701170001@149.115.2.66>,
  3915. reuven_sherwin@mail.stil.scitex.com (Reuven J. Sherwin) wrote:
  3916.  
  3917. >Hi there,
  3918. >
  3919. >I'm looking for source code example that demonstrate how to use the Sound
  3920. >Input API for storing the current Sound Input device, then switching it to
  3921. >the Microphone, and then back again.
  3922. >
  3923. >Any sample would be of much help.
  3924. >
  3925. >Thanks,
  3926. >   Reuven Sherwin
  3927. >
  3928. >-- 
  3929. >Reuven J. Sherwin               email: reuven_sherwin@mail.stil.scitex.com
  3930. >Pitagno Multimedia Ltd.
  3931. >a Scitex company
  3932. >
  3933. >"Everything ought to turned upside down occasionally; it lets in air and
  3934. light." - Betty Sorenson, "Star Beast", R.A.H.
  3935.  
  3936.     This is a **very** simple SIOUX application that shows how I've been
  3937. doing what you want. Put it in a project and link against standard
  3938. Macintosh and ANSI libraries and enjoy. I've compiled this both in 68k and
  3939. PPC and it seems to work fine.
  3940.  
  3941.     I've a feeling that on occasions the selection you've made isn't kept
  3942. after a restart! I haven't figured this out yet!?! :-)
  3943.  
  3944. Enjoy.
  3945.  
  3946. Craig Emery.
  3947.  
  3948. // main.cpp starts here
  3949. // includes
  3950.  
  3951. #ifndef __SOUNDINPUT__
  3952. #include <SoundInput.h>
  3953. #endif // !__SOUNDINPUT__
  3954.  
  3955. #if !defined(_IOSTREAM_)
  3956. #include <iostream>
  3957. #endif // !defined(_IOSTREAM_)
  3958.  
  3959. #if !defined(_STDLIB)
  3960. #include <stdlib.h>
  3961. #endif // !defined(_STDLIB)
  3962.  
  3963. // proto-types
  3964. Boolean InitToolBox();
  3965. Size _P2CStr (const StringPtr psSrc, char *lpszDest);
  3966.  
  3967. // constants
  3968. const Boolean gbToolBoxInited = InitToolBox ();
  3969.  
  3970. // globals
  3971.  
  3972. // code
  3973.  
  3974. // function to initialise the MacOS ToolBox
  3975. // returns a flag to be stored in a global so that other functions that
  3976. // may be run during startup (such as constructors for static class data)
  3977. // can check that this has been run first
  3978. Boolean InitToolBox()
  3979. {
  3980.     InitGraf((Ptr) &qd.thePort);
  3981.     InitWindows();
  3982.     InitDialogs(nil);
  3983.     InitMenus();
  3984.     InitCursor ();              // make the cursor the standard arrow and
  3985. set cursor show / hide count to 0
  3986.  
  3987.     return (true);
  3988. };
  3989.  
  3990. Size _P2CStr (const StringPtr psSrc, char *lpszDest)
  3991. {
  3992.     Size szSize;
  3993.     BlockMove ((void *) &psSrc[1], (void *) lpszDest, szSize = (Size)
  3994. *((char *) psSrc));
  3995.     lpszDest[szSize] = '\0';
  3996.     return (szSize);
  3997. };
  3998.  
  3999. // This application will present the user with a list of the 
  4000. // sound input "sources" in the default device and thgen let the user
  4001. // pick which one to use. After setting it, the application quits
  4002. void main ()
  4003. {
  4004.     // make the SIOUX window appear
  4005.     // crude but effective
  4006.     cout << endl << flush;
  4007.  
  4008.     OSErr theErr = noErr;
  4009.     Handle hDeviceIconHandle;
  4010.     Str255 psDeviceName;
  4011.     char lpszDeviceName[255];
  4012.     int nCount;
  4013.     StringPtr *psInputs = NULL;
  4014.     short nsInputs = 1;
  4015.     Handle hNames = NULL;
  4016.     long lInRefNum;
  4017.  
  4018.     // while I don't get siBadSoundInDevice I can ask for info about input
  4019. devices
  4020.     for (nCount = 1; siBadSoundInDevice != (theErr = SPBGetIndexedDevice
  4021. (nCount, psDeviceName, &hDeviceIconHandle)); nCount++)
  4022.     {
  4023.         _P2CStr (psDeviceName, lpszDeviceName);
  4024.         cout << "Name of device number " << nCount << " is " <<
  4025. lpszDeviceName << endl;
  4026.  
  4027.         if (noErr == SPBOpenDevice (psDeviceName, siWritePermission,
  4028. &lInRefNum))
  4029.         {
  4030.             if (noErr == SPBGetDeviceInfo (lInRefNum, siInputSourceNames,
  4031. (char *) &hNames))
  4032.             {
  4033.                 short nCurrInput;
  4034.                 if (noErr == SPBGetDeviceInfo (lInRefNum, siInputSource,
  4035. (Ptr) &nCurrInput))
  4036.                 {
  4037.                     HLock (hNames);
  4038.  
  4039.                     nsInputs = **((short **) hNames);
  4040.                     psInputs = new StringPtr[nsInputs];
  4041.                     cout << "\t" << nsInputs << " input sources are
  4042. attached to this device" << endl;
  4043.  
  4044.                     char lpszName[255];
  4045.                     short nsInput;
  4046.                     Size szOffset;
  4047.                     StringPtr psName = (StringPtr) (((short *) *hNames) + 1);
  4048.                     for (nsInput = 0; nsInput < nsInputs; nsInput++)
  4049.                     {
  4050.                         psInputs[nsInput] = psName;
  4051.                         szOffset = _P2CStr (psName, lpszName);
  4052.                         cout << "\t\tinput source number " << nsInput + 1
  4053. << " is called " << lpszName;
  4054.                         if ((nsInput + 1) == nCurrInput)
  4055.                         {
  4056.                             cout << " (currently selected)";
  4057.                         };
  4058.                         cout << endl;
  4059.                         psName += szOffset + 1;
  4060.                     };
  4061.                 };
  4062.             };
  4063.         };
  4064.     };
  4065.  
  4066.     if (1 != nsInputs)
  4067.     {
  4068.         cout << endl << "Enter a number between 1 and " << nsInputs
  4069.             << " to change the input source (enter zero to leave it
  4070. unchanged)" << endl
  4071.             << " : ";
  4072.         char lpszMyInput[255], *lpszEnd = NULL;
  4073.         cin >> lpszMyInput;
  4074.         long lWantInput;
  4075.         if ((0 == (lWantInput = strtol (lpszMyInput, &lpszEnd, 0))) &&
  4076. (*lpszEnd != '\0'))
  4077.         {
  4078.             cout << "you didn't enter a number" << endl;
  4079.         }
  4080.         else if ((0 < lWantInput) && (lWantInput <= nsInputs))
  4081.         {
  4082.             _P2CStr (psInputs[lWantInput - 1], lpszMyInput);
  4083.             cout << "Changing current input source to " << lpszMyInput << endl;
  4084.             short nWantInput = lWantInput;
  4085.             if (noErr != (theErr = SPBSetDeviceInfo (lInRefNum,
  4086. siInputSource, (Ptr) &nWantInput)))
  4087.             {
  4088.                 cout << "Failed to change input source (error number " <<
  4089. theErr << ")" << endl;
  4090.             };
  4091.         };
  4092.  
  4093.         delete[] psInputs;
  4094.     };
  4095.  
  4096.     SPBCloseDevice (lInRefNum);
  4097.  
  4098.     if (NULL != hNames)
  4099.         DisposeHandle (hNames);
  4100.  
  4101.     ExitToShell ();
  4102. };
  4103.  
  4104. // main.cpp ends here
  4105.  
  4106.  ----------------------------------------------------------------------- 
  4107. | Norman Craig Emery B.Sc.,                            craig@epic.co.uk |
  4108. | Team Leader / Senior CDi Programmer &  CRAIG.EPIC@applelink.apple.com |
  4109. | Macintosh Programming Coordinator, Voice: +44 (0) (1273) 320637       |
  4110. | The Epic Multimedia Group,                 Fax: +44 (0) (1273) 821567 |
  4111. |               http://www.epic.co.uk/                                  |
  4112. |     VPS House, 52 Old Steine, Brighton, East Sussex, BN1 1NH, U.K.    |
  4113.  -----------------------------------------------------------------------
  4114.  
  4115. ---------------------------
  4116.  
  4117. From "Helge Baumann" <Helge.Baumann@Informatik.Uni-Oldenburg.DE>
  4118. Subject: atan2: PPC vs. 68k
  4119. Date: 27 Sep 96 12:12:40 GMT
  4120. Organization: C. v. Ossietzky Universitaet Oldenburg - Fachbereich Informatik
  4121.  
  4122. Hi folks,
  4123.  
  4124. I got a problem, that drives me mad:
  4125. In a little C-program I got the line
  4126.  
  4127.   c = atan2 (a, b); // a, b, c are double!
  4128.  
  4129. and I wantto compile for both PPC and 68k with my CW 9.
  4130.  
  4131. The first call for this line is with a = b = 0, so it will compute
  4132. (mathematical) arctan (0/0), which schould be a correct value of 0.
  4133. (I think, that's what the atan2 (y,x) is for in opposite to atan (x)...)
  4134.  
  4135. When I compile it for PowerPC, all works fine.
  4136. When I compile for 68020, it says: NAN(040), which should be 
  4137. not a number.
  4138.  
  4139. So, who's going wrong: me, my computer, his interpreter, my compiler, 
  4140. my library, the OS, Apple, Motorola, anything else?
  4141.  
  4142. Thanks for any hints
  4143. Bye
  4144. Helge
  4145. -- 
  4146.  Helge Baumann        ** "Ich bin dagegen,
  4147.  Groninger Strafle 28  **  Computer zu vermenschlichen.
  4148.  D-26129 Oldenburg    **  
  4149.  0441-776331          **  Sie mˆgen es nicht!"
  4150.  
  4151.  
  4152. +++++++++++++++++++++++++++
  4153.  
  4154. From Carl R. Osterwald <carl_osterwald@nrel.gov>
  4155. Date: 27 Sep 1996 15:15:23 GMT
  4156. Organization: National Renewable Energy Laboratory
  4157.  
  4158. In article <52ggs7$rie@news.Informatik.Uni-Oldenburg.DE> Helge Baumann,
  4159. Helge.Baumann@Informatik.Uni-Oldenburg.DE writes:
  4160.  
  4161. >I got a problem, that drives me mad:
  4162. >In a little C-program I got the line
  4163. >
  4164. >  c = atan2 (a, b); // a, b, c are double!
  4165. >
  4166. >and I wantto compile for both PPC and 68k with my CW 9.
  4167.  
  4168. >The first call for this line is with a = b = 0, so it will compute
  4169. >(mathematical) arctan (0/0), which schould be a correct value of 0.
  4170. >(I think, that's what the atan2 (y,x) is for in opposite to atan (x)...)
  4171.  
  4172. My first thought is that atan2(0,0) should be an error, because there
  4173. is no information on what the angle is, i.e. x cannot be zero:
  4174.  
  4175. atan2(10,0) = pi/2
  4176. atan2(-13,0) = -pi/2
  4177. atan2(0,0) = ?
  4178.  
  4179. >When I compile it for PowerPC, all works fine.
  4180. >When I compile for 68020, it says: NAN(040), which should be 
  4181. >not a number.
  4182.  
  4183. I think you meant NaN(4), which is invalid division (usually division by
  4184. zero).
  4185.  
  4186. >So, who's going wrong: me, my computer, his interpreter, my compiler, 
  4187. >my library, the OS, Apple, Motorola, anything else?
  4188.  
  4189. Another point to consider is that SANE (the Standard Apple Numerics
  4190. Environment used in all 68k Macs) does not have atan2(y,x) built in. 
  4191. The single-srgument atan(x) is part of SANE, however.  It is listed in
  4192. fp.h in the universal headers, which means it is now available for both
  4193. cases.  It looks like there is a difference between 68k and PPC in how
  4194. it is implemented.
  4195.  
  4196. If indeed the PPC implementation is incorrect, there might be a
  4197. difference between Apple's MathLib and Motorola's LibMoto, which now
  4198. ships with 7.5.5.  Both implementations should be checked.
  4199.  
  4200. I'll try compiling the test example myself later today.
  4201.  
  4202. Hope this helps.
  4203.  
  4204. +++++++++++++++++++++++++++
  4205.  
  4206. From Carl R. Osterwald <carl_osterwald@nrel.gov>
  4207. Date: 3 Oct 1996 20:41:44 GMT
  4208. Organization: National Renewable Energy Laboratory
  4209.  
  4210. In article <52gr2b$7ql@nrel.nrel.gov> Carl R. Osterwald,
  4211. carl_osterwald@nrel.gov writes:
  4212.  
  4213. >I'll try compiling the test example myself later today.
  4214.  
  4215. Well, today wasn't today, but I did try a few things out using the
  4216. following CodeWarrior10 SOUIX code:
  4217.  
  4218. #include <stdio.h>
  4219. #include <fp.h>
  4220.  
  4221. void calc (double_t a, double_t b);
  4222. void calc (double_t a, double_t b)
  4223.     {
  4224.         double_t    c = atan2(a, b);
  4225.         printf("atan2(%lf, %lf) = %lf\n", a, b, c);
  4226.     }
  4227.  
  4228. void divide (double_t a, double_t b);
  4229. void divide (double_t a, double_t b)
  4230.     {
  4231.         double_t    c = a / b;
  4232.         printf("%lf / %lf = %lf\n", a, b, c);
  4233.     }
  4234.  
  4235. void main(void)
  4236. {
  4237.     printf ("PPC results:\n\n");
  4238.     
  4239.     calc(0.0, 0.0);
  4240.     calc(10.0, 0.0);
  4241.     calc(-10.0, 0.0);
  4242.     divide(0.0, 0.0);
  4243.     divide(10.0, 0.0);
  4244.     printf( "sqrt(-1.0) = %lf\n", sqrt(-1.0) );
  4245. }
  4246.  
  4247. Here are the results I obtained on an 8500/180 with SoftwareFPU
  4248. installed, CW10 default ANSI project settings:
  4249.  
  4250. 68k results:
  4251.  
  4252. atan2(0.000000, 0.000000) = NAN(004)
  4253. atan2(10.000000, 0.000000) = 1.570796
  4254. atan2(-10.000000, 0.000000) = -1.570796
  4255. 0.000000 / 0.000000 = NAN(004)
  4256. 10.000000 / 0.000000 = INF
  4257. sqrt(-1.0) = NAN(255)
  4258.  
  4259. PPC results:
  4260.  
  4261. atan2(0.000000, 0.000000) = 0.000000
  4262. atan2(10.000000, 0.000000) = 1.570796
  4263. atan2(-10.000000, 0.000000) = -1.570796
  4264. 0.000000 / 0.000000 = NAN(000)
  4265. 10.000000 / 0.000000 = INF
  4266. sqrt(-1.0) = NAN(001)
  4267.  
  4268. Here are the NaN codes defined in the Apple Numerics Manual,
  4269. 2nd. Ed., pg. 41:
  4270.  
  4271. Name      Code    Meaning
  4272. NANSQRT      1  Invalid square root, such as sqrt(-1)
  4273. NANADD       2  Invalid addition, such as (+INF) - (+INF)
  4274. NANDIV       4  Invalid division, such as 0/0
  4275. NANMUL       8  Invalid multiplication, such as 0 x INF
  4276. NANREM       9  Invalid remainder or mod such as X rem 0
  4277. NANASCBIN   17  Attempt to convert invalid ASCII string
  4278. NANCOMP     20  Result of converting comp NaN to floating
  4279. NANZERO     21  Attempt to create a NaN with a zero code
  4280. NANTRIG     33  Invalid argument to trig routine
  4281. NANINVTRIG  34  Invalid argument to inverse trig routine
  4282. NANLOG      36  Invalid argument to log routine
  4283. NANPOWER    37  Invalid argument to x^i or x^y routine
  4284. NANFINAN    38  Invalid argument to financial routine
  4285.            255  NaN created by 68882 FPU
  4286.  
  4287. So the short answer is, they are both wrong.  The 68k gave NaN(4) for
  4288. atan2(0, 0), and the PPC returned 0.0.  I believe atan2(0, 0) should
  4289. return NaN(33).
  4290.  
  4291. Both returned the correct answers for legitimate atan2 arguments, so my
  4292. supposition that the 68k was simply dividing the two arguments and
  4293. calling atan was wrong.  Also, both divided 10/0 correctly and
  4294. obtained infinity.
  4295.  
  4296. For the invalid division test, 0/0, the 68k app returned the correct
  4297. NaN code, but the PPC returned NaN(0), which isn't even defined (see the
  4298. meaning for NaN(21).
  4299.  
  4300. Finally, sqrt(-1) returned the correct code for the PPC, and returned
  4301. the FPU code for the 68k case.  This is odd, however, because the 68k
  4302. returned the specific NaN code for 0/0, but the generic FPU NaN for
  4303. sqrt(-1).
  4304.  
  4305. I guess the bottom line is that NaNs aren't very consistent, and should
  4306. be used with caution.
  4307.  
  4308. +++++++++++++++++++++++++++
  4309.  
  4310. From Carl R. Osterwald <carl_osterwald@nrel.gov>
  4311. Date: 3 Oct 1996 20:41:44 GMT
  4312. Organization: National Renewable Energy Laboratory
  4313.  
  4314. In article <52gr2b$7ql@nrel.nrel.gov> Carl R. Osterwald,
  4315. carl_osterwald@nrel.gov writes:
  4316.  
  4317. >I'll try compiling the test example myself later today.
  4318.  
  4319. Well, today wasn't today, but I did try a few things out using the
  4320. following CodeWarrior10 SOUIX code:
  4321.  
  4322. #include <stdio.h>
  4323. #include <fp.h>
  4324.  
  4325. void calc (double_t a, double_t b);
  4326. void calc (double_t a, double_t b)
  4327.     {
  4328.         double_t    c = atan2(a, b);
  4329.         printf("atan2(%lf, %lf) = %lf\n", a, b, c);
  4330.     }
  4331.  
  4332. void divide (double_t a, double_t b);
  4333. void divide (double_t a, double_t b)
  4334.     {
  4335.         double_t    c = a / b;
  4336.         printf("%lf / %lf = %lf\n", a, b, c);
  4337.     }
  4338.  
  4339. void main(void)
  4340. {
  4341.     printf ("PPC results:\n\n");
  4342.     
  4343.     calc(0.0, 0.0);
  4344.     calc(10.0, 0.0);
  4345.     calc(-10.0, 0.0);
  4346.     divide(0.0, 0.0);
  4347.     divide(10.0, 0.0);
  4348.     printf( "sqrt(-1.0) = %lf\n", sqrt(-1.0) );
  4349. }
  4350.  
  4351. Here are the results I obtained on an 8500/180 with SoftwareFPU
  4352. installed, CW10 default ANSI project settings:
  4353.  
  4354. 68k results:
  4355.  
  4356. atan2(0.000000, 0.000000) = NAN(004)
  4357. atan2(10.000000, 0.000000) = 1.570796
  4358. atan2(-10.000000, 0.000000) = -1.570796
  4359. 0.000000 / 0.000000 = NAN(004)
  4360. 10.000000 / 0.000000 = INF
  4361. sqrt(-1.0) = NAN(255)
  4362.  
  4363. PPC results:
  4364.  
  4365. atan2(0.000000, 0.000000) = 0.000000
  4366. atan2(10.000000, 0.000000) = 1.570796
  4367. atan2(-10.000000, 0.000000) = -1.570796
  4368. 0.000000 / 0.000000 = NAN(000)
  4369. 10.000000 / 0.000000 = INF
  4370. sqrt(-1.0) = NAN(001)
  4371.  
  4372. Here are the NaN codes defined in the Apple Numerics Manual,
  4373. 2nd. Ed., pg. 41:
  4374.  
  4375. Name      Code    Meaning
  4376. NANSQRT      1  Invalid square root, such as sqrt(-1)
  4377. NANADD       2  Invalid addition, such as (+INF) - (+INF)
  4378. NANDIV       4  Invalid division, such as 0/0
  4379. NANMUL       8  Invalid multiplication, such as 0 x INF
  4380. NANREM       9  Invalid remainder or mod such as X rem 0
  4381. NANASCBIN   17  Attempt to convert invalid ASCII string
  4382. NANCOMP     20  Result of converting comp NaN to floating
  4383. NANZERO     21  Attempt to create a NaN with a zero code
  4384. NANTRIG     33  Invalid argument to trig routine
  4385. NANINVTRIG  34  Invalid argument to inverse trig routine
  4386. NANLOG      36  Invalid argument to log routine
  4387. NANPOWER    37  Invalid argument to x^i or x^y routine
  4388. NANFINAN    38  Invalid argument to financial routine
  4389.            255  NaN created by 68882 FPU
  4390.  
  4391. So the short answer is, they are both wrong.  The 68k gave NaN(4) for
  4392. atan2(0, 0), and the PPC returned 0.0.  I believe atan2(0, 0) should
  4393. return NaN(33).
  4394.  
  4395. Both returned the correct answers for legitimate atan2 arguments, so my
  4396. supposition that the 68k was simply dividing the two arguments and
  4397. calling atan was wrong.  Also, both divided 10/0 correctly and
  4398. obtained infinity.
  4399.  
  4400. For the invalid division test, 0/0, the 68k app returned the correct
  4401. NaN code, but the PPC returned NaN(0), which isn't even defined (see the
  4402. meaning for NaN(21).
  4403.  
  4404. Finally, sqrt(-1) returned the correct code for the PPC, and returned
  4405. the FPU code for the 68k case.  This is odd, however, because the 68k
  4406. returned the specific NaN code for 0/0, but the generic FPU NaN for
  4407. sqrt(-1).
  4408.  
  4409. I guess the bottom line is that NaNs aren't very consistent, and should
  4410. be used with caution.
  4411.  
  4412. ---------------------------
  4413.  
  4414. From eolson@mit.edu (Ed Olson)
  4415. Subject: password dialogs-- how?
  4416. Date: Thu, 26 Sep 1996 19:11:16 -0400
  4417. Organization: MIT
  4418.  
  4419. i've been trying to implement a password dialog (show bullets instead of
  4420. letters) by intercepting key-down events, and the approach seems to work
  4421. for the most part. However (and not suprisingly) this is failing to
  4422. catch/intercept the user selecting a range of text and deleting it.
  4423.  
  4424. where can i get some source that can show me how, or an outline of how to
  4425. go about doing this?
  4426.  
  4427. Ed Olson
  4428. MIT MacDev
  4429. eolson@mit.edu
  4430.  
  4431. an email response is preferred :)
  4432.  
  4433. +++++++++++++++++++++++++++
  4434.  
  4435. From blob@ricochet.net
  4436. Date: Thu, 26 Sep 1996 19:26:45 -0700
  4437. Organization: (none)
  4438.  
  4439. In article <eolson-2609961911160001@spud.mit.edu>, eolson@mit.edu (Ed
  4440. Olson) wrote:
  4441.  
  4442. > i've been trying to implement a password dialog [...]
  4443. > where can i get some source that can show me how, or an outline 
  4444. > of how to go about doing this?
  4445.  
  4446. The alt.sources.mac archive at <http://www.AmbrosiaSW.com/alt.sources.mac/>
  4447. has examples.  Also, there is a PowerPlant class on any info mac archive,
  4448. such as 
  4449. <http://hyperarchive.lcs.mit.edu/HyperArchive/dev/lib/
  4450.    l-password-field-cpp-pp.hqx>
  4451. which demonstrates some techniques.
  4452.  
  4453. -- 
  4454. (Pointers to other Mac programming web sites at
  4455. <http://devworld.apple.com/dev/geeks.html>)
  4456.  
  4457. +++++++++++++++++++++++++++
  4458.  
  4459. From "Tedd F. Sperling" <sperling@sperling.com>
  4460. Date: Fri, 27 Sep 1996 09:48:34 +0000
  4461. Organization: Sperling Corporation
  4462.  
  4463. Ed Olson wrote:
  4464. > i've been trying to implement a password dialog (show bullets instead of
  4465. > letters) by intercepting key-down events, and the approach seems to work
  4466. > for the most part. However (and not suprisingly) this is failing to
  4467. > catch/intercept the user selecting a range of text and deleting it.
  4468. > where can i get some source that can show me how, or an outline of how to
  4469. > go about doing this?
  4470. > Ed Olson
  4471. > MIT MacDev
  4472. > eolson@mit.edu
  4473. > an email response is preferred :)
  4474.  
  4475. Hi:
  4476.  
  4477. Try installing a bullet font in the resources of your program and then
  4478. changing the font type before asking the user for a password.
  4479.  
  4480. tedd
  4481.  
  4482. -- 
  4483.    ____
  4484.   |[  ]| mac programmer                             tedd f. sperling
  4485.   |[__]|                               mailto: sperling@sperling.com
  4486.   |___-|                http://www.sojourn.com/~sperling/resume.html
  4487. - -
  4488.  
  4489. +++++++++++++++++++++++++++
  4490.  
  4491. From lottsim@aol.com (LOTTSIM)
  4492. Date: 29 Sep 1996 18:24:57 -0400
  4493. Organization: America Online, Inc. (1-800-827-6364)
  4494.  
  4495. I had to do this once---it isn't that difficult, either.
  4496.  
  4497. What you need to do, first, is create a dialog filter.
  4498.  
  4499. Then, you examine each keystroke.  If it is normal (i.e. not return,
  4500. enter, delete, or tab), then intercept it, and change the character (to be
  4501. passed on to the edit field) to a bullet.  At the same time, you want to
  4502. have a char * or string to which you can add the actual characters that
  4503. the user inputs.
  4504.  
  4505. Then, when the user hits return or enter, simply take the finished correct
  4506. string and check it against any other string.
  4507.  
  4508. I can probably re-write it, if you need me to.
  4509.  
  4510. Alex Rampell
  4511.  
  4512. +++++++++++++++++++++++++++
  4513.  
  4514. From 3gl21@qlink.queensu.ca (Gregory Lo)
  4515. Date: 3 Oct 1996 19:50:23 GMT
  4516. Organization: Queens University
  4517.  
  4518. I saw a post a while ago with an interestingly different approach, one
  4519. that I never would have thought of:
  4520.  
  4521. Install custom Textwidth and Texthook procs in the TextEdit record so that
  4522. the width of every character in the password field is the width of a
  4523. bullet, and every character drawn in the field by TE is the same bullet
  4524. character.  This would save from having to do double bookkeeping on the
  4525. entered text.  You would still have to disable Cut and Copy, but that's
  4526. something you normally have to implement yourself anyway.
  4527.  
  4528. Of course, I haven't actually tried this out yet...
  4529.  
  4530. +++++++++++++++++++++++++++
  4531.  
  4532. From 3gl21@qlink.queensu.ca (Gregory Lo)
  4533. Date: 3 Oct 1996 19:50:23 GMT
  4534. Organization: Queens University
  4535.  
  4536. I saw a post a while ago with an interestingly different approach, one
  4537. that I never would have thought of:
  4538.  
  4539. Install custom Textwidth and Texthook procs in the TextEdit record so that
  4540. the width of every character in the password field is the width of a
  4541. bullet, and every character drawn in the field by TE is the same bullet
  4542. character.  This would save from having to do double bookkeeping on the
  4543. entered text.  You would still have to disable Cut and Copy, but that's
  4544. something you normally have to implement yourself anyway.
  4545.  
  4546. Of course, I haven't actually tried this out yet...
  4547.  
  4548. ---------------------------
  4549.  
  4550. From pratap@applelink.apple.com (Pratap Reddy P.)
  4551. Subject: problems with XCMD using OT
  4552. Date: Tue, 01 Oct 1996 16:03:02 +0530
  4553. Organization: Apple Developement India
  4554.  
  4555.  
  4556. Hi all,
  4557.  
  4558. This is Pratap, sending this mail from India. I am writing an XCMD whcih
  4559. interacts with OT streams. I have few problems while doing this. Can
  4560. somebody answer to me if you know about any of these problems.
  4561.  
  4562. I will brief here about my XCMD (PPC, C++) :
  4563.  
  4564. * Writing this using CW
  4565.  
  4566. * it opens OT and creates stream (with 3 modules) on opening Hypercard and
  4567. returns control back to Hypercard (HC). It also asks HC to lock the
  4568. resource using XWHasInterruptCode.
  4569.  
  4570. * gets serial port names from OT and gives back to HC, when user clicks on
  4571. some button to get this information. 
  4572.  
  4573. * when user clicks on "check syntax" button of HC, XCMD uses the endpoint
  4574. which was already open, issues some ioctls to modules and returns results
  4575. back to HC.
  4576.  
  4577. * While quitting the hypercard, unbounds and closes the provider and tries
  4578. to close opentransport (!!). Also tells the hypercard to unlock the
  4579. resource.
  4580.  
  4581. Here are my problems :
  4582.  
  4583. 1. 
  4584. If i try to send an event to XCMD from a module when XCMD is not in
  4585. memory, my system crashes into Macsbug. If I lock the XCMD resource
  4586. explicitly it is not crashing. I guess, XWHasInterruptCode is suppossed to
  4587. lock the resource!!. Why is it not doing that??
  4588.  
  4589. 2. 
  4590. One of my code warrior global is becoming NULL (endpoint that I opened
  4591. initially). If I play around with the stack invoking XCMD many time, this
  4592. happens. :-((
  4593.  
  4594. 3.
  4595. CloseOpentransport crashes into Macsbug sometimes with "PowerPC unmapped
  4596. exception at TOTDeathWatcher::delete" and sometimes with "illegal
  4597. instruction at ..(~TOTDeathwatcherFUI)". I can see the assembly code as
  4598. dc.l 0x00000000 (??) and sometimes as dc.l 0x02020002. 
  4599. If I remove CloseOpentransport, looks like everything is fine.
  4600.  
  4601. 4. 
  4602. Do i need to issue XWAllowreentrancy from XCMD??
  4603.  
  4604. 5. 
  4605. Can't use MW source level debugger more than once (crashes into Macsbug)
  4606.  
  4607.  
  4608. Thank you
  4609.  
  4610. Pratap
  4611. email : pratap@applelink.apple.com
  4612. applelink : pratap
  4613.  
  4614. PS: Please keep a CC to me <pratap@applelink.apple.com>
  4615.  
  4616. -- 
  4617. Pratap P. Reddy
  4618. Apple development India
  4619. email : pratap@applelink.apple.com
  4620. phone - (91) - 80 - 2259495
  4621.  
  4622. +++++++++++++++++++++++++++
  4623.  
  4624. From martins@nancy.inra.fr (Antonio Moura Martins)
  4625. Date: Fri, 04 Oct 1996 13:33:51 +0200
  4626. Organization: INRA - Lab. Intelligence Artificielle
  4627.  
  4628. In article (Dans l'article) <pratap-0110961603060001@17.85.20.112>,
  4629. pratap@applelink.apple.com wrote (Ècrivait)†:
  4630.  
  4631. > This is Pratap, sending this mail from India. I am writing an XCMD whcih
  4632. > interacts with OT streams. I have few problems while doing this. Can
  4633. > somebody answer to me if you know about any of these problems.
  4634.  
  4635. .....
  4636.  
  4637.  
  4638. > 2. 
  4639. > One of my code warrior global is becoming NULL (endpoint that I opened
  4640. > initially). If I play around with the stack invoking XCMD many time, this
  4641. > happens. :-((
  4642.  
  4643. Global?? I think you can't use globals with XCMDs.
  4644. you can store them in a HC global.
  4645.  
  4646. This also means you cannot use some library routines.
  4647.  
  4648. Hope it helps.
  4649.  
  4650. +++++++++++++++++++++++++++
  4651.  
  4652. From martins@nancy.inra.fr (Antonio Moura Martins)
  4653. Date: Fri, 04 Oct 1996 13:33:51 +0200
  4654. Organization: INRA - Lab. Intelligence Artificielle
  4655.  
  4656. In article (Dans l'article) <pratap-0110961603060001@17.85.20.112>,
  4657. pratap@applelink.apple.com wrote (Ècrivait)†:
  4658.  
  4659. > This is Pratap, sending this mail from India. I am writing an XCMD whcih
  4660. > interacts with OT streams. I have few problems while doing this. Can
  4661. > somebody answer to me if you know about any of these problems.
  4662.  
  4663. .....
  4664.  
  4665.  
  4666. > 2. 
  4667. > One of my code warrior global is becoming NULL (endpoint that I opened
  4668. > initially). If I play around with the stack invoking XCMD many time, this
  4669. > happens. :-((
  4670.  
  4671. Global?? I think you can't use globals with XCMDs.
  4672. you can store them in a HC global.
  4673.  
  4674. This also means you cannot use some library routines.
  4675.  
  4676. Hope it helps.
  4677.  
  4678. ---------------------------
  4679.  
  4680. End of C.S.M.P. Digest
  4681. **********************
  4682.  
  4683.